当前位置:主页 > 查看内容

外部工具连接SaaS模式云数仓MaxCompute—ETL工具篇

发布时间:2021-08-05 00:00| 位朋友查看

简介:直播视频请点击 直播 观看。 本次分享将从五个方面讲解。 01 走进MaxCompute生态 02 开源ETL工具 03 客户端简介 04 PyODPS简介 05 实操展示 一、走进MaxCompute生态 首先来看下 MaxCompute 产品能支持的外部工具 大概可以分为商业智能、开发管理、传输调度、……

直播视频请点击 直播 观看。

本次分享将从五个方面讲解。

01 走进MaxCompute生态

02 开源ETL工具

03 客户端简介

04 PyODPS简介

05 实操展示

一、走进MaxCompute生态

首先来看下 MaxCompute 产品能支持的外部工具 大概可以分为商业智能开发管理、传输调度、编程接口。本次分享主要关注商业智能 BI 工具这一板块 可以看到 MaxCompute 官方集成有Tableau、FineReport、FineBI、Quick BI。其中Tableau、FineBI、FineReport是在特定的版本会内置 MaxCompute 驱动 如果需要通过JDBC连接 MaxCompute 还是需要手动加载 MaxCompute JDBC驱动 Quick BI作为阿里云的产品 是可以通过阿里云账号和AK信息直接连接的 同时在8.6及以上版本的Yonghong Desktop也是可以通过内置驱动连接 MaxCompute。在商业智能部分还有开源BI工具 Superset、Davinci也可以连接 MaxCompute。

在开发管理部分 是我们第二讲的内容 包括DBeaver、DataGrip、SQL Workbench/J。

同时我们的产品还集成了 Kafka和Flink开源引擎。支持的ETL开源工具有Kettle、Airflow、Azkaban 这一部分是本次分享来介绍。支持的编程接口有Python、JDBC、SQLAlchemy。


除了支持的外部工具 MaxCompute 自身也有开放生态 包括内建开源引擎 Spark 迁移工具MMA 开发生态PyODPS、Mars 工具生态Web-Console等。同时 MaxCompute 也与阿里云内部产品共同构建了丰富的解决方案生态和数据应用生态。

image


二、开源ETL工具

主要介绍一下开源ETL工具通过哪些方式连接 MaxCompute 。开源ETL工具包含 Airflow、Azkaban、Kettle。

首先看下Airflow Airflow是python编写的一款调度工具 内部有Python Operator和Bash Operator 等各种Operator。也支持自定义插件的开发 Airflow是通过command Operator控制MaxCompute客户端通过命令行的方式 提交SQL任务 对于Python SDK可以通过Python py文件这种方式提交 Java sdk可以通过java -jar方式提交。因为Airflow支持Python Operator 所以可以直接集成PyODPS 可以直接写Python代码。第二部分是Azkaban Azkaban主要是通过command提交我们的任务 可以通过MaxCompute提供的编程接口提交SQL任务。Kettle可以通过JDBC直接连接MaxCompute。

02.jpg


三、MaxCompute CLI客户端简介

MaxCompute客户端支持运行在Linux/Mac/Window三个系统上。

安装

?JDK 1.8以上。

?已经创建MaxCompute项目 拥有该项目权限的账号

配置

?修改conf文件夹下的odps_config.ini文件

?填写ak、项目名、endpoint

使用

?Linux/Mac上执行bin目录下的odpscmd,windows执行bin目录下的odpscmd.bat

?支持执行单个sql语句 执行sql文件 上传资源 上传下载数据(Tunnel)、授权等操作

image

四、MaxCompute Python SDK PyODPS 简介安装

?PC客户端安装依赖于python环境 执行 pip install pyodps

?DataWorks内建PyODPS支持 通过新建PyOdps节点提交Python任务

PyODPS初始化

from odps import ODPS

o ODPS( **your-access-id** , **your-secret-access-key** , project **your-project** , endpoint **your-end-point** )


PyODPS接口

?表接口 o.get_table o.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()

image

五、实操展示


Airflow实操展示

请点击 视频 查看实操部分

Azkaban实操展示

请点击 视频 查看实操部分

Kettle实操展示

请点击 视频 查看实操部分

更多关于大数据计算、云数仓技术交流 欢迎扫码加入 “MaxCompute开发者社区” 钉钉群

image


本文转自网络,原文链接:https://developer.aliyun.com/article/786312
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐