MaxCompute平台的資料上傳和下載目前有著豐富的工具(其中大部分已經在GitHub上開源,走開源社區的維護方式)可以使用,各自有不同的應用情境,具體分為阿里雲數加產品和開源產品兩大類,本文將進行簡要介紹。
阿里雲數加產品
- DataWorks之Data Integration
DataWorks之Data Integration(即資料同步),是阿里集團對外提供的穩定高效、Auto Scaling的資料同步平台,致力於為阿里雲上各類異構資料存放區系統提供離線全量和即時增量的資料同步、整合、交換服務。
其中資料同步任務支援的資料來源類型包括:MaxCompute、RDS(MySQL、SQL Server、PostgreSQL)、Oracle、FTP、ADS(AnalyticDB)、OSS、Memcache和DRDS,詳情請參見資料同步簡介,具體使用方法請參見建立資料同步任務。
- MaxCompute用戶端
- 用戶端的安裝和基本使用請參見用戶端介紹。
- 用戶端基於批量資料通道的SDK實現了內建的tunnel命令,可對資料進行上傳和下載,詳情請參見tunnel命令的基本使用介紹。
说明 該項目已經開源,您可進入 aliyun-odps-console進行查看 。 - DTS
資料轉送(Data Transmission)服務DTS是阿里雲提供的一種支援RDBMS(關係型資料庫)、NoSQL、OLAP等多種資料來源之間資料互動的資料服務。它提供了資料移轉、即時資料訂閱及資料即時同步等多種資料轉送功能。
DTS可以支援RDS、MySQL執行個體的資料即時同步到MaxCompute表中,暫不支援其他資料來源類型。
開源產品
- Sqoop
Sqoop基於社區Sqoop 1.4.6版本開發,增強了對MaxCompute的支援,可以將資料從MySQL等關聯式資料庫匯入/匯出到MaxCompute表中,也可以從HDFS/Hive匯入資料到MaxCompute表中。
说明 該項目已經開源,您可進入 aliyun-maxcompute-data-collectors進行查看。 - Kettle
Kettle是一款開源的ETL工具,純Java實現,可以在Windows、Unix和Linux上運行,提供圖形化的操作介面,可以通過拖拽控制項的方式,方便地定義資料轉送的拓撲。
说明 該項目已經開源,您可進入 aliyun-maxcompute-data-collectors進行查看。 - Flume
Apache Flume是一個分布式的、可靠的、可用的系統,可高效地從不同的資料來源中收集、彙總和移動海量日誌資料到集中式資料存放區系統,支援多種Source和Sink外掛程式。
Apache Flume的DataHub Sink外掛程式可以將日誌資料即時上傳到DataHub,並歸檔到MaxCompute表中。
说明 該項目已經開源,您可進入 aliyun-maxcompute-data-collectors進行查看。 - Fluentd
Fluentd是一個開源的軟體,用來收集各種源頭日誌(包括Application Log、Sys Log及Access Log),允許您選擇外掛程式對日誌資料進行過濾,並儲存到不同的資料處理端(包括MySQL、Oracle、MongoDB、Hadoop、Treasure Data等)。
Fluentd的DataHub外掛程式可以將日誌資料即時上傳到DataHub,並歸檔到MaxCompute表中。
- LogStash
LogStash是一款開源日誌收集處理架構,logstash-output-datahub外掛程式實現了將資料匯入DataHub的功能。通過簡單的配置即可完成資料的採集和傳輸,結合MaxCompute/StreamCompute可以輕鬆構建流式資料從採集到分析的一站式解決方案。
LogStash的DataHub外掛程式可以將日誌資料即時上傳到DataHub,並歸檔到MaxCompute表中。
- OGG
OGG的DataHub外掛程式可以支援將Oracle資料庫的資料即時地以增量方式同步到DataHub中,並最終歸檔到MaxCompute表中。
说明 該項目已經開源,您可進入 aliyun-maxcompute-data-collectors進行查看。