大數據

外部工具連接SaaS模式雲數倉MaxCompute—ETL工具篇

直播視頻請點擊 直播 觀看。

本次分享將從五個方面講解。

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 OperatorBash 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

Leave a Reply

Your email address will not be published. Required fields are marked *