閱讀805 返回首頁    go 外匯


8.2 數據導入任務生產指南__第八章 在生產中使用分析型數據庫_使用手冊_分析型數據庫-阿裏雲

在使用分析型數據庫時,穩定的數據導入是非常重要的生產要素。一般新用戶經常在進行首次的數據導入時因為操作不當無法成功,或成功後無法穩定運行。這裏我們來看一下建立一個生產化的數據導入任務的注意事項。

數據的準備方麵

想要穩定的導入數據,首先要在數據的源頭穩定的產出數據。一份對於分析型數據庫來說穩定的數據至少要滿足:

  • 數據所在的項目名(對應源頭為ODPS)/文件訪問路徑(對應源頭為OSS,暫不支持)/服務器連接串(對應源頭為RDS,暫不支持)和表名與LOAD DATA命令的中的源頭一致並保持穩定。

  • 數據表的字段名,在源頭上與在分析型數據庫上的配置一致,源頭表可以比分析型數據庫有更多的字段,但是不能比分析型數據庫表缺少字段。

  • 源頭表進行導入的分區的數據不能為空,進行導入的數據主鍵不能有NULL值,HASH分區鍵不能存在大量NULL值或同樣的HASH分區鍵的數據條數過多,例如超過了每個分區的平均數據量的三倍。否則不僅會對查詢性能造成影響,在極端情況下也會導致數據導入時間過長或者失敗。

調用導入命令

在數據產出後,可以通過MySQL連接的方式或者HTTP Rest-API的方式調用數據導入命令,這時應該注意:

  • 調用命令時,命令所引用的源頭表/分區的數據已經完整的產出完畢,並且若源頭是ODPS/OSS,應該不在有任何在源頭的寫入操作。所以通常需要一個良好的離線任務調度係統(例如阿裏雲DPC中的數據開發平台)來進行相關的任務運行和調度。

  • 調用命令時,要確保命令所引用的源頭表/分區已經對ALIYUN$garuda_build@aliyun.com授予足夠的權限並未開啟保護模式等阻止數據流出的安全策略。

  • 調用命令時分析型數據庫中該表沒有正在運行的導入任務,否則會返回失敗。

查詢數據導入狀態和解決導入中的問題

在生產係統中查詢數據導入狀態,通常更多的是通過HTTP API進行的查詢的,這裏如果有一個較好的離線任務調度係統,那麼實現難度並不大。

在數據導入的過程中,經常會因為出現各種錯誤而導致導入中斷,具體的錯誤處理可以見附錄一:錯誤碼中。

最後更新:2016-11-24 11:23:46

  上一篇:go 8.1 業務係統連接並進行查詢__第八章 在生產中使用分析型數據庫_使用手冊_分析型數據庫-阿裏雲
  下一篇:go 8.3 在BI工具中連接和使用分析型數據庫__第八章 在生產中使用分析型數據庫_使用手冊_分析型數據庫-阿裏雲