【大数据工具选型】ETL&同步&调度工具比较 |
您所在的位置:网站首页 › 调度工具对比图片 › 【大数据工具选型】ETL&同步&调度工具比较 |
〇、概述1、常用资料 dolphinscheduler用户手册:https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/system-manual.html airflow官方文档:airflow.apache.org 2、理解数据从多个异构数据源加载到数据库或其他目标地址 3、选型(1)ETL Kettle Streamset (2)同步 DataX Sqoop Canel (3)调度 DolphinSchedule Azkaban Oozie on Hue Airflow 一、ETL(一)Kettle1、简介Spoon图形化界面操作 支持的数据源丰富,但支持的数据源不主流 kettle是做数据清洗,转换工作的工具 2、组成(1)转换Transformation:多个数据源输入 各种各样的输入(HDFS、parquet、HBASE输入)、转换和输出(如HDFS、parquet、HBASE、表输出或数据同步功能)【dolphinschedule需要集成datax插件做数据同步】 (2)作业Job:循环成圈,可以包含作业或转换 3、kettle调用(1)API方式调用kettle http://www.kettle.net.cn/2230.html (2)集成平台 构建定时调度任务 4、优化spoon脚本 调大JVM内存大小 线程堆栈大小 if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2048m" "-Xmx2048m" "-XX:MaxPermSize=256m"增大缓存 使用数据库连接池 提高批处理的commit size 避免使用update , delete操作,尤其是update,如果可以把update变成先delete, 后insert; (二)Streamset大数据实时采集ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。 数据源支持MySQL、Oracle等结构化和半/非结构化,目标源支持HDFS、Hive、Hbase、Kudu、Solr、Elasticserach等 创建一个Pipelines管道需要配置数据源(Origins)、操作(Processors)、目的地(Destinations)三部分 二、同步 (一)DataX通过脚本调用Python2,再解析JSON文件 对数据库压力小,全量速度快,适合做数据同步工作 不支持增量同步
(二)Sqoop Sqoop,SQL-to-Hadoop 即 “SQL到Hadoop和Hadoop到SQL”
(三)Canel 基于数据库增量日志解析,提供增量数据实时订阅和消费,目前主要支持了MySQL,也支持mariaDB。
三、调度(一)DolphinSchedule 支持传统的shell任务,同时支持大数据平台任务调度:MR、Spark、SQL(mysql、postgresql、hive/sparksql)、python、procedure、sub_process【兼容传统与大数据】 通过拖拽来绘制DAG (二)Azkabanhadoop的job调度,适合shell脚本,当job不多的时候,可以使用 Azkaban支持直接传参,例如${input}。 (三)Oozie on Huehadoop可视化平台Hue的插件 Cloudera公司,需要预先将规则定义在workflow.xml中 Oozie支持参数和EL表达式,例如${fs:dirSize(myInputDir)} (四)Airflow是apache的一个顶级开源项目由python编写 ariflow功能比azkaban完整强大 airflow在部署运维以及使用上要比azkaban复杂,成本高 将工作流编写任务的有向无环图(DAG) 通过airflow webserver -p 8080 -D启动web服务,通过airflow scheduler -D启动调度 通过编写python文件和配置文件,执行python文件中对应的任务 查看所有dag任务:airflow list_dags 作者:哥们要飞
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |