日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Kettle調度MaxCompute

MaxCompute支持您通過ETL工具Kettle實現MaxCompute作業調度。您可以通過拖拽控件的方式,方便地定義數據傳輸的拓撲結構。本文為您介紹如何通過MaxCompute JDBC驅動,連接Kettle和MaxCompute項目并調度作業。

背景信息

Kettle是一款開源的ETL工具,純Java實現,可以運行于Windows、Unix、Linux操作系統,為您提供圖形化的操作界面。Kettle支持豐富的輸入輸出數據源,數據庫支持Oracle、MySQL、DB2等,也支持各種開源的大數據系統,例如HDFS、HBase、Cassandra、MongoDB等。

您可以在Kettle中通過創建Job的方式連接MaxCompute項目,并按照ETL流程調度作業。

前提條件

在執行操作前,請確認您已滿足如下條件:

  • 已創建MaxCompute項目。

    更多創建MaxCompute項目操作,請參見創建MaxCompute項目

  • 已獲取可訪問MaxCompute項目的AccessKey ID和AccessKey Secret。

    您可以進入AccessKey管理頁面獲取AccessKey ID和AccessKey Secret。

  • 已下載包含完整依賴JAR包jar-with-dependenciesMaxCompute JDBC驅動(v3.2.8及以上版本)

    本文中的MaxCompute JDBC驅動示例版本為v3.2.9。

  • 已下載Kettle安裝包并解壓至本地路徑。

    本文中的Kettle示例版本為8.2.0.0-342。

操作流程

  1. 步驟一:放置MaxCompute JDBC驅動

    將MaxCompute JDBC驅動放置于Kettle的驅動目錄下,后續Kettle可通過該驅動訪問MaxCompute項目。

  2. 步驟二:Kettle連接MaxCompute項目

    通過配置連接參數,連接Kettle及MaxCompute項目。

  3. 步驟三:創建作業調度流程

    在Spoon界面創建作業調度流程并配置作業信息。

  4. 步驟四:運行作業調度流程

    基于創建好的作業調度流程運行作業。

  5. 步驟五:查看作業調度結果

    通過SQL編譯器查看作業調度結果。

步驟一:放置MaxCompute JDBC驅動

將MaxCompute JDBC驅動JAR包(例如odps-jdbc-3.2.9-jar-with-dependencies.jar)放置于Kettle的安裝目錄data-integration/lib下。

放置驅動

步驟二:Kettle連接MaxCompute項目

  1. 在Kettle的安裝目錄data-integration下,雙擊Spoon.bat(Windows系統)或者雙擊Spoon(macOS系統),即可啟動Spoon,進入Spoon界面。

  2. 在頂部菜單欄,選擇文件 > 新建 > 作業,創建Kettle作業,用于后續創建作業調度流程。

    新建作業

  3. 主對象樹頁簽的DB連接處單擊右鍵選擇新建

    新建數據連接

  4. 數據連接對話框單擊一般,并配置下表所列參數信息。

    配置連接信息

    參數

    說明

    連接名稱

    新建數據連接的名稱,用于在系統中區分不同數據庫的連接。例如MaxCompute。

    連接類型

    固定選擇Generic database

    連接方式

    固定選擇Native (JDBC)

    Dialect

    固定選擇Hadoop Hive 2

    自定義連接URL

    連接MaxCompute項目的URL。格式為jdbc:odps:<MaxCompute_endpoint>?project=<MaxCompute_project_name>。配置時刪除<>符號。參數說明如下:

    • <MaxCompute_endpoint>:必填。MaxCompute項目所屬區域的Endpoint。

      各地域的Endpoint信息,請參見Endpoint

    • <MaxCompute_project_name>:必填。待連接的目標MaxCompute項目名稱。

      此處為MaxCompute項目名稱,非工作空間名稱。您可以登錄MaxCompute控制臺,左上角切換地域后,即可在項目管理頁面查看到具體的MaxCompute項目名稱。

    自定義驅動類名稱

    用于連接MaxCompute項目的驅動程序。固定取值為com.aliyun.odps.jdbc.OdpsDriver

    用戶名

    具備目標MaxCompute項目訪問權限的AccessKey ID。

    您可以進入AccessKey管理頁面獲取AccessKey ID。

    密碼

    AccessKey ID對應的AccessKey Secret。

  5. 單擊測試,連接成功后依次單擊確定確認,完成Kettle和MaxCompute連接。

    測試連接

步驟三:創建作業調度流程

您可以在Spoon界面的核心對象頁簽通過創建、關聯核心對象(作業)的方式構造作業調度流程。

此處以通過LOAD命令從OSS加載數據,并寫入MaxCompute內部表的ETL過程為例為您介紹操作流程,對應示例數據請參見通過內置Extractor(StorageHandler)導入數據。該ETL過程涉及的作業可根據核心對象類型拆解如下。

調度流程

  1. 在Spoon界面,單擊核心對象頁簽。

  2. 基于上圖拆解的核心對象,從左側導航欄中依次拖拽核心對象組件至右側作業區域中,并按照下圖所示結構連接各核心對象。

    連接核心對象的方式為:選中核心對象后,按住Shift同時單擊核心對象,即可出現連接線,連接至目標核心對象即可。創建調度流程

  3. 在腳本類型的核心對象上單擊右鍵,選擇編輯作業入口,在SQL對話框配置下表所列參數信息后,單擊確定。依次完成所有腳本類型核心對象配置。

    編輯核心對象

    參數

    說明

    作業項名稱

    調度作業的名稱。例如Create table、Load from OSS、Processing。

    數據庫連接

    訪問的數據連接名稱。即步驟二中創建的數據連接。例如MaxCompute。

    將SQL腳本作為一條語句發送

    不選中。

    SQL腳本

    調度作業對應的SQL腳本。示例中腳本類型核心對象對應的SQL腳本如下:

    • Create table

      CREATE TABLE ambulance_data_csv_load (
      vehicleId INT,
      recordId INT,
      patientId INT,
      calls INT,
      locationLatitute DOUBLE,
      locationLongtitue DOUBLE,
      recordTime STRING,
      direction STRING);
    • Load from OSS

      LOAD OVERWRITE TABLE ambulance_data_csv_load 
      FROM 
      LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/' 
      STORED BY 'com.aliyun.odps.CsvStorageHandler' 
      WITH serdeproperties (
      'odps.properties.rolearn'='acs:ram::xxxxx:role/aliyunodpsdefaultrole',   --AliyunODPSDefaultRole的ARN信息,可通過RAM角色管理頁面獲取。
      'odps.text.option.delimiter'=','
      );
    • Processing

      INSERT OVERWRITE TABLE ambulance_data_csv SELECT * FROM ambulance_data_csv_load;

步驟四:運行作業調度流程

  1. 在創建的作業調度流程界面,單擊左上角的運行圖標后,在執行作業對話框右下角單擊執行

    執行

  2. 可選:如果彈出如下對話框,單擊,保存創建的作業調度流程,并按照提示指引命名。例如mc。

    保存作業

  3. 通過調度流程界面的DAG圖或執行結果區域查看運行狀態,當呈現下圖所示狀態時,表明作業調度流程運行結束。

    運行結束

步驟五:查看作業調度結果

作業調度流程運行完成后,通過簡單SQL腳本查看數據是否成功寫入目標表中。

  1. 在Spoon界面單擊主對象樹頁簽,在創建的Kettle作業(例如mc)下單擊DB連接

  2. 在創建的數據連接(例如MaxCompute)上單擊右鍵,選擇SQL編輯器

    SQL編輯器

  3. 簡單SQL編輯器對話框,輸入SQL腳本并單擊執行,即可在預覽數據對話框查看到查詢結果。

    執行SQL腳本SQL腳本如下:

    SELECT * FROM ambulance_data_csv;