DataX简介(3.0版本)
1. 背景
1.1. 概览
- 在大数据处理业务框架中,需要处理的数据一般是2个来源(行为日志和业务数据),有些公司如果有python部门,就需要加上python数据这一个。
- python数据因为各个公司以及各个页面和接口中数据差异较大,一般需要针对公司和特定业务编写程序进行解析,然后存入HDFS或者其他分布式文件系统中。一般都是编写Spark程序(可以分布式进行处理,效率对比java程序要更高。当然,也可以使用java编写mapreduce程序)。
- 行为日志数据,此前已经说过,一般都是使用flume等分布式日志采集框架进行采集,因为这些框架比较成熟,可以直接进行一些预处理,然后存入HDFS或者其他地方。
- 业务数据一般都是存放在关系型数据库如mysql或者oracle,或者windows server中。没错,后2个都是需要花钱的,特别是oracle,一般公司用不起。这时候将数据从关系型数据库导出到大数据文件存放系统中,或者反过来,将数据从大数据文件存放系统中导出到关系型数据库中,目前使用datax做数据导入导出框架也逐渐增加。
- 不管是流量域数据(行为日志数据),还是业务域数据(存储在关系型数据库中业务数据),都是按照经典数仓分层进行处理,存储,以便于计算和分析,最后做展示。
- 经典数仓分层,一般是DIM维度层,再之上就是ODS贴源层,然后是DW层(一般划分为DWD数据明细层,DWS数据服务层),然后是ADS应用层。而不管是流量域还是业务域的数据,都是需要按照这个分层进行数据预处理,提取,处理,存储到这些层级的。
1.2 官网
https://github.com/alibaba/DataX/blob/master/introduction.md
2. DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
3. 因为阿里本身也有数据存储产品,所以肯定是支持的,你懂的.
2. 安装
- 官网下载datax包,之后解压
- 注意,一般第三方软件都是放在linux的opt或者usr目录下
3. 使用
3.1 简单使用
- 编写json配置文件,配置文件结构如下:
{
"job": {
"content": [
"reader": {
},
"writer": {
}
],
"setting": {
"speed": {
"channel": "1"
}