00:00
那么接下来我们就要清洗咱们这个之前的数据是吧?啊清洗数据哎,而且要做三件事情,那我们采用的呢,是通过MR这个方式来清洗的,MR是不是可以做六是不是可以做数据一个清洗啊,是可以做数据清洗的,好,那我们先创建一个工程。价格。然后我们叫五力啊,这个是com点它的,然后是。鼓励。鼓励一条,鼓励一条是吧,然后下一步。我们当前窗口是吧,因为这个have窗口没有用了,接下来我们要导入依赖,那导入依赖其实因为文档里面没给他提供了,这样你去其他的工程里面拿一下,或者说你去其他的文档里面拿一下,是不是可以啊,就直接用什么。
01:00
的一个文档就够了。幺五新创建一个。好拿一下它的一个依赖,拉个附键及unit单元测试就不要了吧,这个都粘一下吧,看到C,然后这个就关掉,好放到这就多拿一些,可能是集用力,还有这个log附垫啊,你都拿一下,等于日制的。然后你主要导的是那个就够了吧,够了,那这样我们依赖就导进来了,依赖导进来了。这又卡了是吗?好,接下来就具体的咱们写代码,写代码。The com点的硅谷点,然后ETL map,那你想想看,这种做ETL操作需不需要。
02:03
不需要吧,因为他没有什么聚集聚合操作啊,没有任何的一个聚合操作。那这个卖我们要继承什么卖,他要一个什么ke y6和K2Y62,那想想看,Key和。Value是不是固定的?是好好久不写了是吧,然后跟一个text,那写出去呢,你想想看你写出去什么内容啊。你给我一个text和一个那就可以了吗?这是可以的。然后ctrl o是吧,复写它的一个什么。麦克方法,那个方法这个不要不要好,那接下来就这里边的一个逻辑怎么写。
03:07
第一步我们肯定是做什么,读取一行数据,直接切割。获取。一行数据吧,获取一行数据之后,我们要做清洗吧,做清洗获取到数据之后,我们要做清洗。第么其实就是清洗数据。清洗数据,清洗数据之后就是清洗完了数据你可以直接写出去了吧,啊其实就是这三步操作啊,其实就是三步操作,那我们获取一行数据。是不是Y6点嘛。CTRL加V是吧,对,这个是line来。OK,那这一行数据获取到了,接下来清洗数据,我们知道清洗数据当中要做三步是吧?哎,这个逻辑相对来说还是比较复杂的,相对于像这种比较复杂的,你可以干什么?建一个工具类吧,啊建专门建一个工具类,我们叫ETL。
04:11
U9U ti啊U94U94。一和U好,那这个里面呢,它有一个方法。就是清洗我们数据的吧,我们给他定义为静态的方法可以吧,那这个方法清洗完了之后,你返回的内容应该是什么类型的呢吗?你想传一个东西,洗完之后你还不得给他一个传出去吗?然后我们就叫。ETLSTEMST比较随意是吧?对一行数据,一行数据,然后我们先让它返回一个,那让他不报错对吧,让它不报错,那这个地方。
05:03
清洗数据啊,其实你这个地方。ETL点清洗一下数据啊,假如说我们现在是line是吧,传进去,传进去之后的一个返回值。我们就叫etls tr吧。Ets,这样就清洗过后的数据啊,清洗过后的数据,那你要写出去的,假如说我们已经把清洗数据的逻辑写完了,你最终写出去的是不是这个数据啊,啊,这个数据好正常的,我们应该。这是一个stream,你直接放在里边用不了吧,Right他要一个类型的,那你要把它变成text类型吧,而且这个text最好在外面去六吧text,然后是K等于六一个text。
06:02
然后你把这个写出去之前是k.set把这个ETL,这个STEM它塞进去,塞进之后你可以把这个K写出去吧,然后后面的怎么写是now re.get。这种方式啊就可以了,可以了,当然这个地方标黄是什么意思啊,让你把它变成什么私有的吧,你对着这个上面,嗯什么。Out,加飞车直接可以了,可以了。这是我们封装的,这个卖。
我来说两句