步驟一:開通DataHub服務
-
登入DataHub服務控制台。
-
根據頁面提示開通服務。
步驟二:建立Project和Topic
-
登入DataHub服務控制台。
-
單擊建立專案按鈕 後填寫相關資訊進行建立。彈出的對話方塊中,名稱需以英文字母開頭,長度為3~32個字元,僅允許英文字母、數字及底線;描述最多1024個字元。填寫完成後單擊建立。
|
參數 |
描述 |
|
Project |
專案(Project)是DataHub資料的基主要組織單元,下麵包含多個Topic。值得注意的是,DataHub的專案空間與MaxCompute的專案空間是相互獨立的。使用者在MaxCompute中建立的專案不能複用於DataHub,需要獨立建立。 |
|
描述 |
Project的描述資訊 |
3 . 點擊Project詳情頁面中的建立Topic按鈕,進行Topic的建立。彈出建立Topic對話方塊,建立方式可選擇直接建立或匯入MaxCompute表結構。
|
參數 |
描述 |
|
建立方式 |
專案(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。 |
|
描述 |
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頁面查看資料是否寫入成功,根據最新資料寫入時間和資料總量查看資料寫入情況。相關資料位元於Topic詳情頁面的Shard列表頁簽中。
-
資料抽樣,檢查資料品質。
-
選擇抽樣shard以及抽樣起始時間。
-
點擊抽樣,即可查看資料。
-
在抽樣對話方塊中,還可設定採樣條數(預設20條),並通過選擇過濾欄位下拉框篩選查看特定欄位的資料。
步驟四:同步資料
以同步MaxCompute為例。
-
依次進入
專案列表/Project詳情/Topic詳情頁面。 -
點擊右上方的
+ 同步按鈕進行同步任務建立。 -
選擇MaxCompute類型作業:
1)TUPLE類型同步時,需在建立Connector對話方塊中配置以下參數:Project名稱、Table名稱、AccessID、AccessKey、匯入欄位、分區模式、分區配置、分區間隔、時區、起始時間和TimestampUnit,完成後單擊建立。
部分配置說明:
下面羅列了部分管控台建立同步任務的配置說明,更多更靈活的操作請參考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的詳情頁面查看同步任務的運行狀態和點位等資訊,包含同步點位、同步狀態以及重啟和停止等操作。詳情中還包含同步延遲、DoneTime、髒資料量等監控指標,以及同步任務欄位的更新管理功能(更新後立即生效,無需重啟)。
詳情請參看建立同步MaxCompute。