介绍:本文主要讲解开源ETL工具对接MaxCompute直播视频,请点击直播观看。本次分享将从五个方面进行解读。01进入MaxCompute生态02开源ETL工具03客户端介绍04PyODPS介绍05实战演示1.进入MaxCompute生态首先我们来看一下MaxCompute产品支持的外部工具,大致可以分为商业智能、开发管理、和传输调度,编程接口。本次分享主要关注商业智能(BI)工具领域。可以看到MaxCompute正式集成了Tableau、FineReport、FineBI、QuickBI。其中Tableau、FineBI、FineReport都在特定版本中内置了MaxCompute驱动。如果需要通过JDBC连接MaxCompute,仍然需要手动加载MaxComputeJDBC驱动。QuickBI作为阿里云的产品,可以通过阿里云账号和AK信息直接对接。是的,同时永红桌面8.6及以上版本也可以通过内置驱动连接MaxCompute。在商业智能部分,也有开源的BI工具。Superset和Davinci也可以接入MaxCompute。开发管理部分,就是我们第二讲的内容,包括DBeaver、DataGrip、SQLWorkbench/J。同时,我们的产品还集成了Kafka和Flink开源引擎。支持的ETL开源工具包括Kettle、Airflow和Azkaban。本次分享介绍这部分内容。支持的编程接口包括Python、JDBC和SQLAlchemy。除了支持的外部工具,MaxCompute还有一个开放的生态,包括内置的开源引擎Spark、迁移工具MMA、开发生态PyODPS、Mars、工具生态Web-Console等。同时同时,MaxCompute还与阿里云内部产品一起构建了丰富的解决方案生态和数据应用生态。2.开源ETL工具主要介绍开源ETL工具如何接入MaxCompute。开源ETL工具包括Airflow、Azkaban和Kettle。首先看气流。Airflow是一个用python编写的调度工具。它内部有PythonOperator、BashOperator和其他运算符。它还支持自定义插件的开发。Airflow使用命令操作符控制MaxCompute客户端通过命令行提交SQL任务。对于PythonSDK,可以通过Pythonpy文件提交,Javasdk可以通过java-jar方式提交。由于Airflow支持PythonOperator,可以直接集成PyODPS,直接编写Python代码。第二部分是阿兹卡班。Azkaban主要是通过命令来提交我们的任务,可以通过MaxCompute提供的编程接口来提交SQL任务。Kettle可以通过JDBC直接连接MaxCompute。3.MaxComputeCLI客户端介绍MaxCompute客户端支持Linux/Mac/Window三种系统运行。安装?JDK1.8或更高版本。?MaxCompute项目已创建,账户配置项目权限?修改conf文件夹下的odps\_config.ini文件?填写ak、项目名称、要使用的endpoint?在linux的bin目录下执行odpscmd/Mac,Windows下执行bin目录下的odpscmd.bat支持执行单条SQL语句、执行SQL文件、上传资源、上传下载数据(Tunnel)、授权等操作。4.MaxComputePythonSDK(PyODPS)安装简介PC客户端安装依赖python环境,执行pipinstallpyodps·DataWorks内置PyODPS支持,通??过新建PyODPS节点提交Python任务。PyODPS初始化fromodpsimportODPSo=ODPS('**your-access-id**','**your-secret-access-key**',project='**your-project**',endpoint='**your-end-point**')PyODPS接口?table接口:o.get\_tableo.create\_table?Sql接口:o.run\_sql(异步执行)o.execute\_sql(同步执行)PyOdpsDataFrame:DataFrame(o.get\_table),o.get\_table().to\_df()上传下载数据:create\_upload\_session()create\_download\_session()五、实战演示请Airflow实战演示点击视频查看实战部分Azkaban实战演示请点击视频查看实战部分Kettle实战演示请点击视频查看实战部分版权声明:本文内容由阿里巴巴实名注册用户投稿云,版权归原作者所有。阿里云开发者社区不拥有自己的版权,也不承担相应的法律责任。具体规则请参考《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如发现本社区涉嫌抄袭内容,请填写侵权投诉表进行举报,一经查实,本社区将立即删除涉嫌侵权内容。
