步驟一:開通DataHub服務
登錄DataHub服務控制臺。
根據頁面提示開通服務。
步驟二:創建Project和Topic
登錄DataHub服務控制臺。
單機新建項目按鈕 后填寫相關信息進行創建。
參數 | 描述 |
Project | 項目(Project)是DataHub數據的基本組織單元,下面包含多個Topic。值得注意的是,DataHub的項目空間與MaxCompute的項目空間是相互獨立的。用戶在MaxCompute中創建的項目不能復用于DataHub,需要獨立創建。 |
描述 | Project的描述信息 |
3 . 點擊Project詳情頁面中的創建Topic按鈕,進行Topic的創建。
參數 | 描述 |
創建方式 | 項目(Project)是DataHub數據的基本組織單元,下面包含多個Topic。值得注意的是,DataHub的項目空間與MaxCompute的項目空間是相互獨立的。用戶在MaxCompute中創建的項目不能復用于DataHub,需要獨立創建。 |
名稱 | Topic的描述信息 |
類型 | Topic類型,TUPLE代表結構化數據,BLOB代表非結構化數據。 |
Schema詳情 | 選擇TUPLE類型會出現Schema詳情,根據自己需求創建字段,允許為NULL代表如果上游沒有該字段值自動置為NULL,不允許為NULL則會嚴格檢驗,字段類型不匹配寫入報錯。 |
Shard數量 | Shard表示對一個Topic進行數據傳輸的并發通道,每個Shard會有對應的ID。每個Shard會有多種狀態 : Opening - 啟動中,Active - 啟動完成可服務。每個Shard啟用以后會占用一定的服務端資源,建議按需申請Shard數量。 |
生命周期 | Topic中寫入數據在系統中可以保存的最長時間,以天為單位,最小值為1,最大值為7,修改生命周期需要使用 JAVA SDK updateTopic方法。 |
描述 | Topic的描述信息 |
步驟三:寫入數據
DataHub支持多種寫入方式,針對日志可以選擇Flume等多種插件,針對數據庫可以選擇DTS、canal,也可以通過SDK寫入,在這里使用console工具上傳文件的方式寫入數據。
下載并解壓console工具包,配置ak和endpoint 信息console使用指南。
使用uf命令上傳文件。
uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000
Web頁面查看數據是否寫入成功,根據最新數據寫入時間和數據總量查看數據寫入情況。
數據抽樣,檢查數據質量。
選擇抽樣shard以及抽樣起始時間。
點擊抽樣,即可查看數據。
步驟四:同步數據
以同步MaxCompute為例。
依次進入
項目列表/Project詳情/Topic詳情
頁面。點擊右上角的
+ 同步
按鈕進行同步任務創建。選擇MaxCompute類型作業,如下圖所示:
1)TUPLE類型同步
部分配置說明:
下面羅列了部分管控臺創建同步任務的配置說明,更多更靈活的操作請參考SDK使用。
導入字段
DataHub可以根據用戶設置將部分column內容同步到MaxCompute表中。
分區模式
分區模式決定了將數據寫入到MaxCompute哪個分區中,目前DataHub支持以下分區方式:
分區模式 | 分區依據 | 支持Topic類型 | 說明 |
USER_DEFINE | Record中的分區列(和MaxCompute的分區字段同名)的value值 | TUPLE | (1). DataHub schema中必須包含MaxCompute分區字段 (2). 該列值必須為 |
SYSTEM_TIME | Record寫入DataHub的時間 | TUPLE / BLOB | (1). 分區配置中設置MaxCompute分區的時間轉換Format格式 (2). 設置時區信息 |
EVENT_TIME | Record中的 | TUPLE | (1). 分區配置中設置MaxCompute分區的時間轉換Format格式 (2). 設置時區信息 |
META_TIME | Record的屬性字段 | TUPLE / BLOB | (1). 分區配置中設置MaxCompute分區的時間轉換Format格式 (2). 設置時區信息 |
其中SYSTEM_TIME
、EVENT_TIME
和META_TIME
均是根據時間Timestamp和時區配置來進行MaxCompute分區的轉換過程,單位默認為微秒。
分區配置決定了根據時間戳轉換MaxCompute分區時的相關配置。目前管控臺默認固定的MaxCompute分區格式,分區配置對應為:
分區 | 時間Format | 說明 |
ds | %Y%m%d | day |
hh | %H | hour |
mm | %M | minute |
分區間隔決定了根據時間戳轉換MaxCompute分區時所采用的時間間隔。時間范圍是
15分鐘 ~ 1440分鐘(1天)
,跳變間隔15分鐘
。時區信息(TimeZone)時區信息決定了根據時間戳轉換MaxCompute分區時所采用的轉換時區。
分隔符BLOB數據同步時,可以指定16進制分隔符來決定是否對BLOB數據分割后再同步MaxCompute,比如
0A
表示\n(換行符)
Base64編碼DataHub BLOB默認存儲二進制數據,而MaxCompute對應的同步列為STRING類型,因此管控臺創建同步任務時,默認采用base64編碼后進行同步,更多定制化需求請參考SDK實現。
步驟六:查看同步任務
可以點擊對應connector的詳情頁面查看同步任務的運行狀態和點位等信息, 包含同步點位、同步狀態以及重啟和停止等操作,如下圖所示:
詳情請參看同步MaxCompute。