DataX离线数据同步

DataX - 全量数据同步工具 DataX 全量数据同步工具 阅读详情

目录



1. DataX

数据同步的工具有很多,比如Hadoop和结构化数据存储之间高效批量数据传输的工具Apache Sqoop,借助于 Hadoop集群可以并行的高效传输数据,但是这种方式往往需要依赖于一个Hadoop环境,在生产环境有时我们并没有直接的权限操作这个环境,而是只提供一个HDFS的端口,这时用Sqoop就不是很方便。Oracle数据和MySQL数据的同步工具会想到alibaba / yugong,基于MySQL binlog增量订阅和消费中间件使用起来非常方便,同时也执行消息队里模式(Apache Kafka、Apache RockMQ),但这个主要针对于特定场景和业务下。

DataX是阿里巴巴集团内被广泛使用的离线数据同步工具or平台,它支持MySQL、Oracle、SQLServer、PostgreSQL、HDFS、Hive、HBase、MaxCompute(ODPS)、MongoDB、Elasticsearch等各种异构数据源之间的高效的数据同步。Reader和Writer支持的列表可以访问文档Support Data Channels
DataX 概览

使用起来也是非常方便,只需要下载datax.tar.gz压缩包,解压之后就可以使用,不需要设置任何依赖,放置到任何一个开通了数据源和目标端端口权限的节点,然后定义一个JSON文件,在JSON文件中定义Reader和Writer,就可以在本地以多线程并发高效的进行数据之间的同步功能。
DataX核心架构

  • 执行一次数据同步作业称为一个Job,DataX接受到这个Job之后,开始启动一个进程来完成这个Job的同步过程;
  • 这个进程会根据不同的源端切分策略,将Job进行切分为多个小的Task,Task就是DataX作业的最小单元,每个Task都负责一部分数据的同步工作,这些Task是并发执行的;
  • 切分完数据之后,DataX Job会调用Scheduler模块,根据配置的并发数量,将拆分的Task重新组合,组装为TaskGroup,每一个TaskGroup负责以一定的并发执行Task,默认单个TaskGroup的并发数为5;
  • Task启动后会固定启动Reader -> Channel -> Writer的线程来完成任务同步工作;
  • Task运行时,Job开始监控并等待各个TaskGroup模块任务完成,等所有TaskGroup成功完成后Job进程才退出,否则异常退出。

例子:比如现在有1个100张分表,需要将数据从MySQL同步到odps,在json中设置了20个并发,DataX的调度决策如下:

  • DataX Job将表拆分为100个Task;
  • 由20个并发,可以计算出需要4个TaskGroup(一个TaskGroup运行5个Task);
  • 将100个任务平均分配个4个TaskGroup,也就是说每个TaskGroup会负责5个并发运行25个Task。

2. ODPS同步数据到HDFS

ODPS现在已经更名为MaxCompute,它是一种大数据计算服务,一个快速、完全托管的TB/PB级数据仓库解决方案,具体可以查看官方文档MaxCompute。

在content中的reader处定义一个odpsreader,writer定义为hdfswriter。这里需要注意的是HdfsWriter插件目前只支持ORC和TEXT,而 HdfsReader插件目前支持ORC、 TEXT、CSV、SEQUENCE、RC。

如果我们在写入HDFS时文件类型可以选择ORC、 TEXT、CSV、SEQUENCE、RC 格式,其中 ORC 格式是一种不错的选择,它既能对数据进行一定程度的压缩(一个原本165MB的文件,压缩后约为20MB),在数据量较大时能很有效的节省空间,此外如果使用 ORC 格式可以字段分割符可以支持的更广泛,可以有效解决 TEXT/CSV 类型的表只能使用 ASCII 中的单字符作为表分割符造成的列匹配错乱的常见问题,在Hive建表时指定文件存储格式STORED AS orc即可,但是比较尴尬的是如果使用的是CDH平台上的Impala来操作Hive的数据,在Cloudera Enterprise 6.0.x是不支持ORC格式的,不过在随后的Cloudera Enterprise 6.1.x支持了ORC格式,有这方面业务的需要考虑下这种特殊情况。

注意:如果reader是ODPS,字段信息的定义顺序没有限制,但尽量和writer中定义的字段信息的顺序一致,或者writer中定义字段信息时要和reader处的顺序保持一致。字段名不要包含空字符,否则DataX验证类型时会报错。

{
  "job": {
    "setting": {
      "speed": {
        "channel": "3"
      }
    },
    "content": [
      {
        "reader": {
          "name": "odpsreader",
          "parameter": {
            "accessId": "3oL**********BDZ",
            "accessKey": "Myk********************WY9UTly",
            "project": "targetProjectName",
            "table": "tableName",
            "column": [
              "*"
            ],
            "partition": [
              "pt=20141010000000,year=2014"
            ],
            "odpsServer": "http://xxx/api",
            "tunnelServer": "http://xxx",
            "splitMode": "record"
          }
        },
        "writer": {
          "name": "hdfswriter",
          "parameter": {
            "defaultFS": "hdfs://cdh1:8020",
            "fileType": "TEXT",
            "path": "/user/hive/warehouse/kudu_test.db/dataxtype_test",
            "fileName": "xxxx",
            "writeMode": "append",
            "fieldDelimiter": "?",
            "column": [
              {
                "name": "f1",
                "type": "BIGINT"
              },
              {
                "name": "f2",
                "type": "STRING"
              },
              {
                "name": "f3",
                "type": "BOOLEAN"
              },
              {
                "name": "f4",
                "type": "DOUBLE"
              },
              {
                "name": "f5",
                "type": "FLOAT"
              },
              {
                "name": " f6",
                "type": "TIMESTAMP"
              }
            ]
          }
        }
      }
    ]
  }
}

注意:

  1. 在writer中的column一定要对读取的每个字段定义字段名和字段类型。关于分隔符,可以使用一些非常特殊的单字符,比如输入法中提供的特殊字符(最好测试一下,有些虽然是单字符但也不支持),如果想使用多字符作为分隔符,可以查看我的另一篇blog Hive中的自定义分隔符。在writer中会定义path和fileName,这里可能有些人会有个疑问,就是为什么定义fileName,这个文件名并不是严格的文件名,只是文件名的一个前缀标识,多个并行时会生成fileName__随机字符串的文件。

  2. 如果 HDFS 开启了 HA ,当 NameNode 发生切换是会造成 读取 HDFS 或者写入 HDFS 数据失败,此时可以配置上 Hadoop HA 相关配置,DataX 本身也是支持这样配置的,在 json 的 reader 或者 writer 下的 parameter 中添加如下配置:

    "hadoopConfig":{
    	"dfs.nameservices": "cluster2",
    	"dfs.ha.namenodes.cluster2": "nn1,nn2",
    	"dfs.namenode.rpc-address.cluster2.nn1": "x.xx.xxx.101:8020",
    	"dfs.namenode.rpc-address.cluster2.nn2": "x.xx.xxx.102:8020",
    	"dfs.client.failover.proxy.provider.cluster2": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
    }
    
  3. 如果开启 Kerberos 认证,则需要在 json 的 reader 或者 writer 下的 parameter 中添加如下配置,更新见下文 5. 带 Kerberos 的域外数据传输

    "haveKerberos": true,
    "kerberosKeytabFilePath": "/xxx/xxxx/xxx.keytab",
    "kerberosPrincipal": "xxx/xxxx@XXX.COM",
    
  4. 如果是在外域访问,直接读取或写入 DataNode 时原集群解析的内网 IP 可能无法直接访问,则需要在 json 的 reader 或者 writer 下的 parameter 中添加如下配置:

    "hadoopConfig":{
    	"dfs.http.policy": "HTTPS_ONLY",
    	"dfs.data.transfer.protection": "integrity",
    	"dfs.client.use.datanode.hostname": true,
    	"dfs.datanode.address": "x.x.x.x:1004"
    }
    

3. HDFS同步数据到另一个HDFS

将下面json保存为 xxx.json,然后执行 $DATAX_HOME/bin/datax.py xxx.json。
注意:reader定义字段类型时一定要和HDFS上的文件的列的顺序一致(也就是建表时字段的顺序),writer时和reader列顺序一致。

{
  "job": {
    "setting": {
      "speed": {
        "channel": 1
      }
    },
    "content": [
      {
        "reader": {
          "name": "hdfsreader",
          "parameter": {
            "path": "/user/hive/warehouse/hive_test.db/dataxtype_test/*",
            "defaultFS": "hdfs://one-hdfs:8020",
            "fileType": "text",
            "encoding": "UTF-8",
            "fieldDelimiter": "|",
            "column": [
              {
                "type": "Long",
                "index": "0"
              },
              {
                "type": "String",
                "index": "1"
              },
              {
                "type": "Boolean",
                "index": "2"
              },
              {
                "type": "Double",
                "index": "3"
              },
              {
                "type": "Double",
                "index": "4"
              },
              {
                "type": "Date",
                "index": "5"
              }
            ]
          }
        },
        "writer": {
          "name": "hdfswriter",
          "parameter": {
            "defaultFS": "hdfs://cdh1:8020",
            "fileType": "TEXT",
            "path": "/user/hive/warehouse/kudu_test.db/dataxtype_test",
            "fileName": "xxxx",
            "writeMode": "append",
            "fieldDelimiter": "?",
            "column": [
              {
                "name": "f1",
                "type": "BIGINT"
              },
              {
                "name": "f2",
                "type": "STRING"
              },
              {
                "name": "f3",
                "type": "BOOLEAN"
              },
              {
                "name": "f4",
                "type": "DOUBLE"
              },
			  {
                "name": "f5",
                "type": "FLOAT"
              },
              {
                "name": " f6",
                "type": "TIMESTAMP"
              }
            ]
          }
        }
      }
    ]
  }
}

4. MongoDB同步数据到HDFS

将下面json保存为 xxx.json,然后执行 $DATAX_HOME/bin/datax.py xxx.json。如果测试数据可以先导到本地"defaultFS": "file:///",如果格式没问题再改为"defaultFS": "hdfs://bigdata001:8020",。或者因为端口问题只能通过某个服务上传,可以直接将远程连接读入MongoDB的数据通过FTP方式发送到指定服务上,这里只需将hdfswriter改为ftpwriter。

{
  "job": {
    "setting": {
      "speed": {
        "channel": "3"
      }
    },
    "content": [
      {
        "reader": {
          "name": "mongodbreader",
          "parameter": {
            "address": [
              "xx.xxx.x.xx:27017"
            ],
            "userName": "",
            "userPassword": "",
            "dbName": "tag_per_data",
            "collectionName": "tag_data12",
            "column": [
              {
                "name": "_id",
                "type": "string"
              },
              {
                "name": "r_cert_no",
                "type": "string"
              },
              {
                "name": "r_name",
                "type": "string"
              },
              {
                "name": "b_cert_no",
                "type": "string"
              },
              {
                "name": "b_name",
                "type": "string"
              },
              {
                "name": "r_flag",
                "type": "string"
              },
              {
                "name": "body_md5",
                "type": "Array",
                "spliter": ""
              }
            ]
          }
        },
        "writer": {
          "name": "hdfswriter",
          "parameter": {
            "defaultFS": "file:///",
            "fieldDelimiter": "╬",
            "fileName": "m_cpws_info_w3",
            "fileType": "orc",
            "path": "/root/mongo_data/m_cpws_info_w3",
            "writeMode": "append",
            "column": [
              {
                "name": "_id",
                "type": "string"
              },
              {
                "name": "r_cert_no",
                "type": "string"
              },
              {
                "name": "r_name",
                "type": "string"
              },
              {
                "name": "b_cert_no",
                "type": "string"
              },
              {
                "name": "b_name",
                "type": "string"
              },
              {
                "name": "r_flag",
                "type": "string"
              },
              {
                "name": "body_md5",
                "type": "string"
              }
            ]
          }
        }
      }
    ]
  }
}

Info:但在MongoDB右密码时,用但在MongoDB右密码时,用$MONGO_HOME/bin/mongo --host xx.xxx.x.xx --port 27017 -u "用户名" -p "密码" --authenticationDatabase "admin"可以正常访问给定的库,但是在上述mongodbreader中配置上用户名和免密依然没有权限访问。

这是可以临时这样迁移数据:

# 登陆远程MongoDB
$MONGO_HOME/bin/mongo --host xx.xxx.x.xx --port 27017 -u "用户名" -p "密码"  --authenticationDatabase "admin"
# 切换到给定库下
use 库名
# 查看表字段信息,不显示 details 字段值
db.getCollection("表名").find({},{details: 0}).limit(1)

然后用MongoDB自带的数据导出工具mongoexport导出数据为csv文件

$MONGO_HOME/bin/mongoexport --host xx.xxx.x.xx --port 27017 \
-d 库名 -c 表名 -u "用户名" -p "密码"  --authenticationDatabase "admin"  \
-o ./data/表名.csv --type csv \
-f "_id,field_01,field_02,field_03,……"

也许这个数据文件非常大,可以对这个文件进行切分,使用Linux的sed命令。

#每100万条数据切分为一个文件
sed -n '1,1000000'p axd_tao_ord.csv >> axd_tao_ord_0000001-1000000.csv
sed -n '1000001,2000000'p axd_tao_ord.csv >> axd_tao_ord_1000001-2000000.csv
sed -n '2000001,3000000'p axd_tao_ord.csv >> axd_tao_ord_2000001-3000000.csv
……

# 这里也可以使用split命令
split -l 1000000  axd_tao_ord.csv axd_tao_ord_

5. 带 Kerberos 的域外数据传输

加入现在数据源为 ODPS ,需要定时将数据写入 HDFS ,但是 HDFS 是在另外一个集群且网络是隔离的,此时 ODPS 相对于 HDFS 就类似与域外的访问。在 ODPS 所处的环境下有一个调度系统,调度系统的某个 Worker 申请了权限可以成功对接访问 HDFS,HDFS 集群开启了SASL和 Kerberos访问认证。

对于这种情况 DataX 也可以成功实现数据的传输离线同步,需要配置上 Kerberos 的参数,这里重点是对于这种域外访问,直接写入数据时,数据会写入到远程的 DataNode 节点,但是这个节点的 ip 是一个集群内网的ip,这样在连接访问DataNode 时就会超时异常,如下图,写入数据时会报6000 mills timeout while waiting for channel to be ready for connect. ch:java.nio.channels.SocketChannel[connection-pending remote=xxx.xxx.xxx.xxx:1004] 而remote连接的那个ip正式 Hadoop 内网集群的ip,对于这种需要指定如下的参数(在hdfs-site.xml),如果是程序中,可以通过这种方式设定 Configuration conf=new Configuration(); conf.set("dfs.client.use.datanode.hostname", "true");。

<property>
    <name>dfs.client.use.datanode.hostname</name>
    <value>true</value>
    <description>only cofig in clients</description>
</property>

DataX 写入 HDFS 时报错图

对于DataX 只需要在 hadoopConfig 中添加配置参数 "dfs.client.use.datanode.hostname": true,完整的配置如下:

{
  "job": {
    "setting": {
      "speed": {
        "channel": 1
      }
    },
    "content": [
      {
        "reader": {
          "name": "odpsreader",
          "parameter": {
            "accessId": "3o************DZ",
            "accessKey": "Myk************************Tly",
            "odpsServer": "http://xx.x.xxx.xxx/api",
            "tunnelServer": "http://xx.x.xxx.xxx",
            "project": "targetProjectName",
            "table": "tableName",
            "column": [
              "customer_id",
              "nickname"
            ]
          }
        },
        "writer": {
          "name": "hdfswriter",
          "parameter": {
            "defaultFS": "hdfs://xx.x.xxx.xxx:8020",
            "path": "/user/hive/warehouse/xxx.db/xxx_tb",
            "fileType": "orc",
            "compress": "NONE",
            "fieldDelimiter": "|",
            "fileName": "xxx",
            "column": [
              {
                "name": "col1",
                "type": "BIGINT"
              },
              {
                "name": "col2",
                "type": "STRING"
              },
              {
                "name": "col3",
                "type": "TIMESTAMP"
              },
              {
                "name": "col4",
                "type": "date"
              }
            ],
            "haveKerberos": true,
            "kerberosKeytabFilePath": "/xxx/xxxx/xxx.keytab",
            "kerberosPrincipal": "xxx/xxxx@XXX.COM",
            "hadoopConfig": {
              "dfs.http.policy": "HTTPS_ONLY",
              "dfs.data.transfer.protection": "integrity",
              "dfs.client.use.datanode.hostname": true,
              "dfs.datanode.address": "x.x.x.x:1004"
            },
            "writeMode": "append"
          }
        }
      }
    ]
  }
}

使用 DataX 实现数据同步(高效的同步工具) 我们公司有个项目的数据量高达五千万,但是因为报表那块数据不太准确,业务库和报表库又是跨库操作,所以并不能使用 SQL 来进行同步。当时的打算是通过 或者存储的方式来进行同步,但是尝试后发现这些方案都不切实际:后面在网上查看后,发现 DataX 这个工具用来同步不仅速度快,而且同步的数据量基本上也相差无几。DataX 是阿里云 DataWorks 数据集成 的开源版本,主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、H 阅读详情

相关推荐

DATAX数据同步工具

1、DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。2、DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作。

weixin_43930865的博客 2581

批量数据之DataX数据同步

DataX是阿里云DataWorks数据集成 的开源版本,主要就是用于实现数据间的离线同步。DataX致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源(即不同的数据库) 间稳定高效的数据同步功能。为了解决异构数据源同步问题,DataX将复杂的网状同步链路变成了星型数据链路 ,DataX作为中间传输载体负责连接各种数据源;当需要接入一个新的数据源时,只需要将此数据源对接到DataX,便能跟已有的数据源作为无缝数据同步。

上善若泪 5471

离线数据同步工具DataX

DataX是阿里巴巴开源的一款数据同步工具,使用Java语言开发的。它提供了从各类数据源读取数据以及向各类数据源写入数据的功能,支持包括MySQL、Oracle、SQLServer、PostgreSQL、HDFS、HBase、MaxCompute(原ODPS)等众多数据源。DataX主要应用于离线数据同步,可以实现异构数据源之间的数据迁移。DataX的GitHub地址是:https://github.com/alibaba/DataX。

翔云 1490

DataX数据同步

DataX数据同步

两个蝴蝶飞 5724

【技术调研报告】DataX 离线异构数据同步框架

DataX 数据脱敏平台 开发与实验 中国大陆 谨慎参考 单机 并发 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。 以星型结构进行数据传输。 ...

陆上溪流 983

大数据组件工具——离线数据同步 DataX

DataX是阿里巴巴开源的离线数据同步工具,支持MySQL、Oracle、HDFS、Hive等多种异构数据源之间的高效同步。其采用Framework+plugin架构,通过Reader采集数据、Writer写入数据,Framework作为传输通道处理缓冲、流控等技术问题。DataX 3.0版本支持单机多线程同步,通过Job切分Task并组合为TaskGroup实现并发执行。典型应用场景包括从MySQL读取数据打印到控制台等,具有每日传输300TB数据的实战验证。安装部署需Linux环境及JDK1.8+支持,

yangwei2048的博客 2333

DataX离线数据同步工具简介

DataX是一款基于Java开发的离线数据同步工具

Lown_1的博客 2001

IPD的分析工具与模型(十六)CBB公用基础模块管理实现资源共享,缩短开发周期

CBB流程的开发环节,基于CBB规划中所识别和设计的CBB,进行CBB的详细设计(包括参数设计和接口设计),并最终实现CBB的落地开发。作为特殊类型的技术构件,CBB的开发流程,可沿用技术开发中的构件开发流程,具体包括概念、计划、开发和迁移等步骤,具体可参见前文的相关介绍。有了蓝图与架构设计,落地实施是关键攻坚。具体工作内容包括:具体工作内容包括:a. 以相似性、聚类、相对独行性、可组合、可扩展性、可维护性等原则为指导,按照产品的功能特征和业务类型,聚焦零散的功能点,形成功能模块,实现产品功能模块的划分;

corgi2020的博客 2000

离线数据同步工具/平台-DataX

DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。 Features DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数...

qq_35854212的博客 1074

ADS交叉耦合振荡器VCO相位噪声优化仿真实践

本文详细介绍了在ADS软件中搭建和优化交叉耦合VCO相位噪声的完整仿真实践。通过谐波平衡与瞬态仿真分析电路性能,并重点阐述了通过提升谐振腔Q值、优化晶体管工作点及改善尾电流源来有效降低相位噪声的具体方法,为射频电路设计提供了实用指南。

weixin_29235923的博客 630

Crossbar RRAM技术解析:从1TnR架构到存储革命

非易失性存储器(NVM)是数据存储的核心技术,其原理基于物理状态的稳定改变以实现数据持久化。阻变存储器(RRAM)作为一种新兴NVM,利用导电细丝在介质层中的形成与断裂实现数据存储,具有高速、低功耗和结构简单的优势。在工程实践中,RRAM面临潜行路径电流等挑战,而Crossbar提出的1TnR架构通过引入共享晶体管有效解决了这一问题,在保证性能的同时提升了集成密度。该技术与CMOS工艺兼容,支持后端集成与多层堆叠,为高密度存储和嵌入式应用提供了新的解决方案。结合当前行业对高能效、高密度存储的需求,RRAM在

weixin_42523104的博客 317

DataX离线数据同步工具/平台

DataX离线数据同步工具/平台 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。 二、环境要求 1、Linux 2、JDK(1.6以上,推荐1.6) 3、Pytho...

YunWisdom 799

【tips】在PyCharm中安装opencv图文版详细教程

pip如下图所示,左边的蓝色图标就是终端。点开终端后,键入命令,按下回车后就开始下载了。如果你更喜欢图形化操作,可以在 PyCharm 中直接安装:。点击右上角的 +按钮(添加包)。搜索或,点击。

zhousanguhe的博客 6740

离线数据同步神器:DataX,支持几乎所有异构数据源的离线同步到MaxCompute

摘要: 概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。 概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQ...

xstardust的博客 606

六维力传感器选型指南:电阻式vs电容式,哪个更适合你的工业场景?

本文深入解析六维力传感器在工业自动化中的选型要点,重点对比电阻式与电容式传感器的核心原理、环境适应性及成本结构。针对不同工业场景(如高精度装配、重载机器人等),提供专业选型建议,帮助工程师优化系统性能与经济效益。

weixin_42525005的博客 395

3DE重客户端安装

3DE重客户端安装

m0_48170265的博客 9420

阿里异构离线数据同步工具/平台DataX

​ DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数据源之间高效的数据同步功能。

纸上得来终觉浅,绝知此事要躬行 3745

Python爬虫实战:爬取500+网易云热门歌单,我摸清了全网最火的音乐规律

曲风:流行是主流,“情绪价值”比单纯曲风更重要;歌名:感性、场景化的歌名,更受用户偏爱。这次实战让我明白,Python不是冰冷的代码,而是能帮我们看清生活中隐藏规律的工具。从每天刷的歌单里,用爬虫和数据分析挖出用户的真实偏好,不仅满足了好奇心,还实实在在练会了技能。新手朋友可以从这个项目入手,既练习了爬虫基础,又学会了数据分析的核心逻辑,还能结合自己的音乐兴趣理解数据的意义。现在打开PyCharm,跟着代码跑一遍,你也能从网易云的热门歌单里,挖出属于自己的“音乐规律”!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1888

DataX:一个开源的离线数据同步工具

是一个异构数据源离线同步(ETL)工具,实现了包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。它也是阿里云 DataWorks 数据集成功能的开源版本。为了解决异构数据源同步问题,DataX 将复杂的网状的同步链路变成了星型数据链路,DataX 作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到 DataX,便能跟已有的数据源做到无缝数据同步。

Tony.Dong的专栏 1669

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

datax 面试题_离线数据同步神器:DataX,支持几乎所有异构数据源的离线同步到MaxCompute...

摘要:概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。概述DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Or...

weixin_35591093的博客 253

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大数据DataX离线数据同步工具

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、 Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功 能。 DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及 向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时 DataX插件体系作为一套生态系统, 每接.

weixin_43319279的博客 973

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: Azkaban的安装和使用
下一篇: CarbonData部署和使用
Yore Yuen
博客等级 码龄9年 8646粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yore Yuen

你的支持认可是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值