4、sybase相关同步-sybase通过datax同步到hdfs

这篇具有很好参考价值的文章主要介绍了4、sybase相关同步-sybase通过datax同步到hdfs。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DataX3.0系列文章

1、datax3.0部署与验证
2、mysql相关同步-mysql同步到mysql、mysql和hdfs相互同步
3、oracle相关同步-oracle到hdfs
4、sybase相关同步-sybase到hdfs
5、ETL工具的比较(DataPipeline,Kettle,Talend,Informatica,Datax ,Oracle Goldeng



本文介绍sybase的相关同步,sybase到hdfs同步。
本文分为三部分,。
本文的前提:数据库对应的表已经建好。

一、Sybase同步介绍

同步sybase数据库的数据,需要使用通用数据库同步的reader和writer,即RDBMSReader和RDBMWriter。

RDBMSReader插件实现了从RDBMS读取数据。在底层实现上,RDBMSReader通过JDBC连接远程RDBMS数据库,并执行相应的sql语句将数据从RDBMS库中SELECT出来。目前支持达梦、db2、PPAS、Sybase数据库的读取。RDBMSReader是一个通用的关系数据库读插件,您可以通过注册数据库驱动等方式增加任意多样的关系数据库读支持。

RDBMSReader通过JDBC连接器连接到远程的RDBMS数据库,并根据用户配置的信息生成查询SELECT SQL语句并发送到远程RDBMS数据库,并将该SQL执行返回结果使用DataX自定义的数据类型拼装为抽象的数据集,并传递给下游Writer处理。

对于用户配置Table、Column、Where的信息,RDBMSReader将其拼接为SQL语句发送到RDBMS数据库;对于用户配置querySql信息,RDBMS直接将其发送到RDBMS数据库。

配置一个从RDBMS数据库同步抽取数据作业

{
    "job": {
        "setting": {
            "speed": {
                "byte": 1048576
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
                "reader": {
                    "name": "rdbmsreader",
                    "parameter": {
                        "username": "xxx",
                        "password": "xxx",
                        "column": [
                            "id",
                            "name"
                        ],
                        "splitPk": "pk",
                        "connection": [
                            {
                                "table": [
                                    "table"
                                ],
                                "jdbcUrl": [
                                    "jdbc:dm://ip:port/database"
                                ]
                            }
                        ],
                        "fetchSize": 1024,
                        "where": "1 = 1"
                    }
                },
                "writer": {
                    "name": "streamwriter",
                    "parameter": {
                        "print": true
                    }
                }
            }
        ]
    }
}

1、参数说明

1)、jdbcUrl

  • 描述:描述的是到对端数据库的JDBC连接信息,jdbcUrl按照RDBMS官方规范,并可以填写连接附件控制信息。请注意不同的数据库jdbc的格式是不同的,DataX会根据具体jdbc的格式选择合适的数据库驱动完成数据读取。
    达梦 jdbc:dm://ip:port/database
    db2格式 jdbc:db2://ip:port/database
    PPAS格式 jdbc:edb://ip:port/database
  • rdbmswriter如何增加新的数据库支持
    进入rdbmsreader对应目录,这里${DATAX_HOME}为DataX主目录,即: ${DATAX_HOME}/plugin/reader/rdbmsreader
    在rdbmsreader插件目录下有plugin.json配置文件,在此文件中注册您具体的数据库驱动,具体放在drivers数组中。rdbmsreader插件在任务执行时会动态选择合适的数据库驱动连接数据库。
{
    "name": "rdbmsreader",
    "class": "com.alibaba.datax.plugin.reader.rdbmsreader.RdbmsReader",
    "description": "useScene: prod. mechanism: Jdbc connection using the database, execute select sql, retrieve data from the ResultSet. warn: The more you know about the database, the less problems you encounter.",
    "developer": "alibaba",
    "drivers": [
        "dm.jdbc.driver.DmDriver",
        "com.ibm.db2.jcc.DB2Driver",
        "com.sybase.jdbc3.jdbc.SybDriver",
        "com.edb.Driver",
        "com.sybase.jdbc4.jdbc.SybDriver"
    ]
}
  • 在rdbmsreader插件目录下有libs子目录,您需要将您具体的数据库驱动放到libs目录下。系统部署好了后的sybase驱动可能不一定适用所有的sybase数据库,本示例是使用新增的sybase驱动
$tree
.
|-- libs
|   |-- Dm7JdbcDriver16.jar
|   |-- commons-collections-3.0.jar
|   |-- commons-io-2.4.jar
|   |-- commons-lang3-3.3.2.jar
|   |-- commons-math3-3.1.1.jar
|   |-- datax-common-0.0.1-SNAPSHOT.jar
|   |-- datax-service-face-1.0.23-20160120.024328-1.jar
|   |-- db2jcc4.jar
|   |-- druid-1.0.15.jar
|   |-- edb-jdbc16.jar
|   |-- fastjson-1.1.46.sec01.jar
|   |-- guava-r05.jar
|   |-- hamcrest-core-1.3.jar
|   |-- jconn3-1.0.0-SNAPSHOT.jar
|   |-- logback-classic-1.0.13.jar
|   |-- logback-core-1.0.13.jar
|   |-- plugin-rdbms-util-0.0.1-SNAPSHOT.jar
|   |-- jconn4.jar
|   `-- slf4j-api-1.7.10.jar
|-- plugin.json
|-- plugin_job_template.json
`-- rdbmsreader-0.0.1-SNAPSHOT.jar
必选:是
默认值:无

二、sybase到hdfs

1、配置文件模板

python ../bin/datax.py -r rdbmsreader -w hdfswriter

[root@bd-node-05 job]# python ../bin/datax.py -r rdbmsreader -w hdfswriter

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


Please refer to the rdbmsreader document:
     https://github.com/alibaba/DataX/blob/master/rdbmsreader/doc/rdbmsreader.md 

Please refer to the hdfswriter document:
     https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md 
 
Please save the following configuration as a json file and  use
     python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
to run the job.

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "rdbmsreader", 
                    "parameter": {
                        "column": [], 
                        "connection": [
                            {
                                "jdbcUrl": [], 
                                "table": []
                            }
                        ], 
                        "password": "", 
                        "username": "", 
                        "where": ""
                    }
                }, 
                "writer": {
                    "name": "hdfswriter", 
                    "parameter": {
                        "column": [], 
                        "compress": "", 
                        "defaultFS": "", 
                        "fieldDelimiter": "", 
                        "fileName": "", 
                        "fileType": "", 
                        "path": "", 
                        "writeMode": ""
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": ""
            }
        }
    }

2、编写配置文件

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "rdbmsreader",
                    "parameter": {
                        "connection": [
                            {
                            "jdbcUrl": ["jdbc:sybase:Tds:192.168.*.*:4100/DATABASE=test" ],
                             "querySql": [ "select * from dbo.t_k"]
                            }
                        ],
                        "password": "×××××",
                        "username": "etl_Bigdatatest"
                    }
                },
                "writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "defaultFS": "hdfs://hdfsHA",
                        "hadoopConfig":{
                            "dfs.nameservices": "hdfsHA",
                            "dfs.ha.namenodes.hdfsHA": "namenode36,namenode38",
                            "dfs.namenode.rpc-address.hdfsHA.namenode36": "bd-node-02:8020",
                            "dfs.namenode.rpc-address.hdfsHA.namenode38": "bd-node-03:8020",
                            "dfs.client.failover.proxy.provider.hdfsHA": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
                        },

                        "column": [
                            { "name": "lsh","type": "STRING"},
                            { "name": "djy_lsh","type": "string"},
                            { "name": "dshh","type": "string"},
                            { "name": "dzd_num","type": "string"},
                            { "name": "force","type": "STRING"},
                            { "name": "dddbh","type": "string"},
                            { "name": "dkhzh","type": "string"},
                            { "name": "ddgje","type": "double"},
                            { "name": "dtkje","type": "double"},
                            { "name": "dj_dshh","type": "string"},
                            { "name": "dj_dzd_num","type": "string"},
                            { "name": "ddjry","type": "STRING"},
                            { "name": "ddjrq","type": "date"},
                            { "name": "hd_dshh","type": "string"},
                            { "name": "dhdry","type": "string"},
                            { "name": "dhdrq","type": "date"},
                            { "name": "hd_dzd_num","type": "string"},
                            { "name": "flag","type": "string"},
                            { "name": "dqr","type": "STRING"},
                            { "name": "Sret","type": "string"},
                            { "name": "dbz","type": "string"},
                            { "name": "dmsg","type": "string"},
                            { "name": "dhdrq","type": "string"},
                            { "name": "dxgdddbh","type": "string"},
                            { "name": "tklx","type": "string"},
                            { "name": "dxgkhzh","type": "string"}
                        ],
                        "compress": "",

                        "fieldDelimiter": ",",
                        "fileName": "t_k",
                        "fileType": "text",
                        "path": "/user/hive/warehouse/test.db/t_k",
                        "writeMode": "append"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": 6
            }
        }
    }
}

3、提交任务

python ../bin/datax.py --jvm="-Xms32G -Xmx32G" t_k.json

4、验证结果

[root@bd-node-05 job]# python ../bin/datax.py --jvm="-Xms32G -Xmx32G" t_k.json

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


2023-04-06 10:01:09.372 [main] INFO  VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl
2023-04-06 10:01:09.381 [main] INFO  Engine - the machine info  => 

        osInfo: Oracle Corporation 1.8 25.181-b13
        jvmInfo:        Linux amd64 3.10.0-1160.88.1.el7.x86_64
        cpu num:        32

        totalPhysicalMemory:    -0.00G
        freePhysicalMemory:     -0.00G
        maxFileDescriptorCount: -1
        currentOpenFileDescriptorCount: -1

        GC Names        [PS MarkSweep, PS Scavenge]

        MEMORY_NAME                    | allocation_size                | init_size                      
        PS Eden Space                  | 8,192.50MB                     | 8,192.50MB                     
        Code Cache                     | 240.00MB                       | 2.44MB                         
        PS Survivor Space              | 1,365.00MB                     | 1,365.00MB                     
        PS Old Gen                     | 21,845.50MB                    | 21,845.50MB                    
        Metaspace                      | -0.00MB                        | 0.00MB                         


......
2023-04-06 10:01:41.520 [job-0] INFO  JobContainer - DataX Reader.Job [rdbmsreader] do post work.
2023-04-06 10:01:41.520 [job-0] INFO  JobContainer - DataX jobId [0] completed successfully.
2023-04-06 10:01:41.522 [job-0] INFO  HookInvoker - No hook invoked, because base dir not exists or is a file: /usr/local/datax/hook
2023-04-06 10:01:41.626 [job-0] INFO  JobContainer - 
         [total cpu info] => 
                averageCpu                     | maxDeltaCpu                    | minDeltaCpu                    
                -1.00%                         | -1.00%                         | -1.00%
                        

         [total gc info] => 
                 NAME                 | totalGCCount       | maxDeltaGCCount    | minDeltaGCCount    | totalGCTime        | maxDeltaGCTime     | minDeltaGCTime     
                 PS MarkSweep         | 1                  | 1                  | 1                  | 0.067s             | 0.067s             | 0.067s             
                 PS Scavenge          | 3                  | 3                  | 3                  | 0.045s             | 0.045s             | 0.045s             

2023-04-06 10:01:41.626 [job-0] INFO  JobContainer - PerfTrace not enable!
2023-04-06 10:01:41.627 [job-0] INFO  StandAloneJobContainerCommunicator - Total 1033495 records, 191629349 bytes | Speed 6.09MB/s, 34449 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 4.336s |  All Task WaitReaderTime 0.441s | Percentage 100.00%
2023-04-06 10:01:41.632 [job-0] INFO  JobContainer - 
任务启动时刻                    : 2023-04-06 10:01:09
任务结束时刻                    : 2023-04-06 10:01:41
任务总计耗时                    :                 32s
任务平均流量                    :            6.09MB/s
记录写入速度                    :          34449rec/s
读出记录总数                    :             1033495
读写失败总数                    :                   0

至此,完成了sybase到hdfs的同步。文章来源地址https://www.toymoban.com/news/detail-478856.html

到了这里,关于4、sybase相关同步-sybase通过datax同步到hdfs的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • dataX3.0和datax-web部署实践踩坑记录(windows版)

    今年公司需要上一个数据分析项目,在考察了一番(百度一番)之后决定上datax加上datax-web的方式来进行数据调度。 PS:写在前面,主要作用是为了自己以后再次(跳槽)部署而写下的记录。 持续更新中... ... 注意: 这里的链接是指向的github的开发文档 。下载dataX需要拉到下

    2024年02月20日
    浏览(31)
  • 5、DataX(DataX简介、DataX架构原理、DataX部署、使用、同步MySQL数据到HDFS、同步HDFS数据到MySQL)

    1.1 DataX概述 源码地址:https://github.com/alibaba/DataX 1.2 DataX支持的数据源 DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图。 2.1 DataX设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星

    2024年02月11日
    浏览(39)
  • 【大数据进阶第三阶段之Datax学习笔记】使用阿里云开源离线同步工具DataX 实现数据同步

    【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述  【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门   【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使

    2024年01月24日
    浏览(44)
  • Datax同步MySQL到ES

    建表语句 插入数据 建立索引语句 我这里使用Kibana工具连接ES进行操作的,也可以使用Postman进行操作 Kibana操作语句 Postman操作语句 地址输入 Json文本输入 当出现以下信息代表创建索引成功 参数介绍 reader:datax的source(来源)端 reader.cloumn::读取mysql的字段名 reader.connection.jdbcU

    2024年02月13日
    浏览(25)
  • DataX mysql同步到mysql

    创建数据源 配置数据库相关信息 创建执行器 配置执行器执行地址相关信息 1.1 SQL语句 (querySql) 在json文件中此部分配置就是 querySql 在有些业务场景下,where这一配置项不足以描述所筛选的条件,用户可以通过该配置型来自定义筛选SQL。当用户配置了这一项之后,DataX系统就

    2024年02月09日
    浏览(23)
  • 数据同步工具—DataX—Web部署使用

    以前了解datax,感觉对易用性不大好,目前发现已经图形配置工具。简单整理一下。 Datax 的使用过程中,我们会发现,不管是利用 java 调用以及 python 命令启动的方式,我们都无法进行任务的管理,并且每次执行任务前,我们 都需要编辑 Json 配置文件,这是比较繁琐的,随着业

    2024年02月05日
    浏览(35)
  • DataX同步达梦数据到HDFS

    DataX同步达梦数据到HDFS 1、 前提条件 安装达梦数据库客户端 安装Python3.5 以上 导入dmPython模块 导入dmPython流程 在达梦数据库客户端 driverspythondmPython 这个路径下执行 ● 如果报错在PATH中加入 E:dmdbmsbin 达梦数据库的安装路径,并重新装载dmPython Traceback (most recent call last): ●

    2024年02月03日
    浏览(26)
  • 数据同步工具DataX、Sqoop、Maxwell、Canal

    常见的数据库同步同步主要有:DataX、Sqoop、Maxwell、Canal 数据同步工具种类繁多,大致可分为两类,一类是以DataX、Sqoop为代表的基于Select查询的离线、批量同步工具,另一类是以Maxwell、Canal为代表的基于数据库数据变更日志(例如MySQL的binlog,其会实时记录所有的insert、upda

    2024年02月11日
    浏览(28)
  • DataX实现Mysql与ElasticSearch(ES)数据同步

    jdk1.8及以上 python2 查看是否安装成功 查看python版本号,判断是否安装成功 在datax/job下,json格式,具体内容及主要配置含义如下 mysqlreader为读取mysql数据部分,配置mysql相关信息 username,password为数据库账号密码 querySql:需要查询数据的sql,也可通过colums指定需要查找的字段(

    2024年02月05日
    浏览(43)
  • 阿里巴巴开源DataX全量同步多个MySQL数据库

    上次 写了阿里巴巴高效的离线数据同步工具DataX: https://mp.weixin.qq.com/s/_ZXqA3H__Kwk-9O-9dKyOQ 安装DataX这个开源工具,并且同步备份了几张数据表。但是发现一个问题,就是每张表都需要单独写一个 job。如果数据表有几百张是不是要写几百个,这个不太现实了。 正当一筹莫展之际

    2024年02月02日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包