etl数据抽取工具_模型数据准备之ETL

dd2a556da474a5d116bd5214c7fa8b6a.png

ETL(Extraction-Transformation-Loading)意为数据抽取、转换和加载。

  • ODS——操作性数据
  • DW——数据仓库
  • DM——数据集市

数据抽取

数据抽取是指把ODS源数据抽取到DW中,然后处理成展示给相关人员查看的数据,ODS源数据主要包括一些用户访问日志、业务日志、埋点日志、系统日志、监控日志等数据。如果没有特殊要求可以一天一次抽取,但是需要避开拉去日志的高峰期。对于有实时性要求的日志,可以一小时一次抽取,或者直接使用kafka等相关工具收集,需要考虑到系统能否承受。

抽取策略

  • 由于数据量较大,一般都是采用增量抽取,但是对于一些特殊场景的数据,比如订单数据,由于订单的状态会发生变化,并且订单的量级是可预知和相对较少的,就需要采用全量拉取的策略
  • 对于增量拉取的日志,如果是文件类型,可以在文件名称上追加日期,例如 server_log_20191101.log,这样就可以满足按小时拉取的需求
  • 对于源数据的保留,考虑到突发情况,服务器上的源数据至少要保证2天以上的时间

数据转换、清洗

顾名思义​,就是把不需要的和不符合规范的数据进行处理。数据清洗最好不要放在抽取的环节进行,考虑到有时可能会查原始数据。一般各公司都会有自己的规范,以下列出几点仅供参考

数据清洗主要包括以下几个方面:

  1. 空值处理;根据业务需要,可以将空值替换为特定的值或者直接过滤掉;
  2. 验证数据正确性;主要是把不符合​业务含义的数据做一处理,比如,把一个表示数量的字段中的字符串替换为0,把一个日期字段的非日期字符串过滤掉等等;
  3. 规范数据格式;比如,把所有的日期都格式化成yyyy-MM-dd HH:mm:ss的格式等;
  4. ​数据转码;把一个源数据中用编码表示的字段,通过关联编码表,转换成代表其真实意义的值等等;
  5. 数据标准,统一;比如在源数据中表示男女的方式有很多种,在抽取的时候,直接根据模型中定义的值做转化,统一表示男女;
  6. 其他业务规则定义的数据清洗...

数据加载

数据拉取,清洗完之后,就需要展示了。一般是把清洗好的数据加载到mysql中,然后在各系统中使用,或者使用Tableau直接给相关人员展示

ETL相关工具

ELT相关的工具有很多,这里只列举一些常用的,而且各公司的技术原型也不一样,就需要根据实际情况来选择
数据抽取工具:

  • kafka
  • flume
  • sync

数据清洗

  • hive/tez
  • pig/tez
  • storm
  • spark

其它工具

  • 数据存储:hadoop、hbase,ES、redis
  • 任务管理:azkaban、oozie
  • 数据同步:datax、sqoop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值