maxcompute(原odps)提供了多種通道資料可以流入maxcompute,包括maxcompute原生的tunnel,以及阿裡雲體系内的log、datax和資料內建,以及開源生态中的flume、logstash和fluentd。以下為大家一一道來,大家視各自情況進行選擇。
直接在maxcompute用戶端中使用tunnel指令進行資料上傳,資料在傳輸過程中都是加密傳輸的,适用于一次性批量資料導入。
注意的是每一次上傳隻支援資料上傳到一個表或表的一個分區,有分區的表一定要指定上傳的分區。
資料上傳指令如下:
tunnel upload log.txt test_project.test_table/p1="b1",p2="b2";
如何配置用戶端和使用指令:
<a href="https://help.aliyun.com/document_detail/27804.html" target="_blank">下載下傳并配置用戶端</a>
<a href="https://help.aliyun.com/document_detail/27809.html" target="_blank">tunnel 指令導入資料</a>
<a href="https://help.aliyun.com/document_detail/27833.html" target="_blank">更多關于tunnel upload指令</a>
通過 tunnel 提供的 sdk 自行編寫 java 工具。
關于如何利用 tunnel sdk 進行上傳資料,下面也将通過場景介紹。場景描述:上傳資料到 maxcompute,其中,項目空間為”odps_public_dev”,表名為”tunnel_sample_test”,分區為”pt=20150801,dt=hangzhou”。
<a href="https://help.aliyun.com/document_detail/27809.html" target="_blank">詳細的tunnel sdk案例教學</a>
日志服務(log service,簡稱 log)是針對日志類資料的一站式服務,在阿裡巴巴集團經曆大量大資料場景錘煉而成。您無需開發就能快捷完成日志資料采集(logtail)、消費、投遞(logshipper)以及查詢分析(logsearch)等功能,提升運維、營運效率,建立 dt 時代海量日志處理能力。
通常情況下,在使用開源的産品時都需要自己寫正則來進行日志采集和結構化,通過log産品可以進行可視化取詞來選擇自己需要解析的字段值,同時也提供手工方式輸入正規表達式,如下圖:
<a href="https://help.aliyun.com/product/28958.html" target="_blank">點選進入:更多關于log産品使用指南</a>
資料傳輸(data transmission)服務dts是阿裡雲提供的一種支援rdbms(關系型資料庫)、nosql、olap等多種資料源之間資料互動的資料服務。它提供了資料遷移、實時資料訂閱及資料實時同步等多種資料傳輸能力。
建立rds for mysql資料實時同步到maxcompute,實作原理如下:
如上圖所示,整個同步過程分為兩步:
全量初始化, 這個步驟将rds mysql中已經存在的全量資料初始化到maxcompute中。對于同步的每個表,全量初始化的資料都會獨立存儲在maxcompute中的全量基線表中,這個表的預設格式為:源表名_base。例如表 t1,那麼全量基線表在maxcompute中存儲的表名為:t1_dts_base。這個存儲表名字首可以根據需要變更,您可以在配置任務時,修改表在maxcompute存儲的名稱。
增量資料同步,這個步驟将rds mysql産生的增量資料資料實時同步到maxcompute中。并存儲在增量日志表中,每個同步表對應一個增量日志表。增量日志表在maxcompute中存儲的表名的預設格式為:源表名_log。這個存儲表名字首可以根據需要變更,您可以在配置任務時,修改表在maxcompute存儲的名稱。
隻支援表的同步,不支援其他非表對象如視圖的同步。
之是以将datax和data ide資料采集放在一起給大家介紹,是因為兩者之間密不可分,但是又有着巨大差别。
【相同點】:data ide資料采集子產品是基于datax平台之前建構的可視化配置+排程系統,支援的資料通道完全一緻。【不同點】:datax需要自己本機或伺服器上配置josn檔案和自己編寫crontab進行排程運維。 建議:大家直接使用 大資料開發套件-資料采集工具,因為大資料開發套件data ide提供了一整套的資料倉庫工具解決方案,從資料采集到資料加工以及後續的排程運維等。關鍵是免費!免費!免費!
資料源分類
資料源類型
抽取(reader)
導入(writer)
支援方式
支援類型
大資料存儲
maxcompute(對應資料源名稱是 odps)
支援
向導/腳本
阿裡雲
analyticdb(對應資料源名稱ads)
不支援
關系型資料庫
mysql
阿裡雲/自建
sql server
postgresql
oracle
自建
drds
db2
腳本
達夢(對應資料源名稱是 dm)
rds for ppas
mpp
hybriddb for mysql
hybriddb for postgresql
非結構化存儲
oss
hdfs
ftp
nosql
hbase
mongodb
memcache
阿裡雲/自建memcached
table store(對應資料源名稱是ots)
loghub
opensearch
redis
性能測試
stream