天天看點

阿裡雲大資料産品Dataworks2.0問題排查思路

1.資料同步不支援資料包含換行符n

2.PAI節點可以支援TenSorFlow。

3.遇到連通性通過,但是配置同步作業或運作時會有逾時情況。這種情況通常自定義資源組來做同步。

4.正常調用正常但重跑報錯報錯ODPS-0130071,重新打開視窗重跑流程。

5.與其他關聯産品比如ODPS、PAI是和項目空間确認綁定關系的。必須建立dataworks時來配置。

6.指派節點中是不支援使用python代碼執行SQL的

7.送出任務成功後10分鐘之前生成的執行個體都是空跑設定為成功的。之後生成的執行個體應該是可以正常運作的,如果還是無法正常運作,可以重新釋出一下任務。

8.不支援節點任務完成資料的儲存之後,通知本地系統做出響應。

9.要使用dataworks的Stream Studio必須開通實時計算

10.sqlscript:一次編譯,odpssql:是逐條編譯

11.目前沒有組合節點的概念(dataworks1.0的),想要依賴多個節點組成的子產品,直接依賴其最後一個節點就可以。

12.pyodps 節點不要通過疊代的方式來處理資料,再上傳,這個是單機,沒有利用到 MaxCompute 的能力,應當用 PyODPS DataFrame 或者 SQL 來處理資料

13.資料同步的時候,如果是非分區表,需要把排程中的參數去掉,否則自動運作的時候會報錯Code:[OdpsWriter-31], Description:[分區配置錯誤.].

14.ECS自建MySQL,配置安全組,即可測試連通性

15.查詢以後的下載下傳導緻字元串類型的“00001”變成了1,是Excel導緻的,目前官方沒有推薦的Excel版本

16.自定義資源需要能夠通過公網,彙報心跳給dataworks,如果在相同區域,是可以的。不需要内網位址,但需要開下dataworks白名單或者放行0.0.0.0/0

17.測試環境的資料同步到生産環境:insert into table 生産環境.表名 select 1,2,3 from 測試環境.表名;

18.不同賬号之間的資料同步可以使用備份功能。

19.資料內建的時候源資料庫故障重試3次,每次間隔2分鐘。不支援自定義時間間隔。

20.運維中心的周期任務解凍以後,已經被當機的周期執行個體是不計入未運作的執行個體的

21.不是告警負責人收到告警,檢查下報警接收人 個人資訊界面是不是有郵件和手機号,是不是配置了 ;子賬号沒有配置手機資訊,就會按照

https://notifications.console.aliyun.com

裡面,基本接收管理類目下,産品新功能上線或功能下線通知子類裡配置的接收人去發送。

22.如果在odps節點使用set指令可能會報錯“送出任務失敗”,可以改用odpscmd用戶端操作。或者set後面跟一個select操作(dataworks不支援set類的session操作,odpscmd可以的)

dataworks操作set例子:

///

SET LABEL 2 TO TABLE test_label(key, value);

SELECT 1;

23.自定義資源組grep -i 'killed process' /var/log/messages 檢視下是否有oom的日志,如果有并且不是專業版本那麼就需要考慮将部分任務考慮放到預設資源,或者降低任務并發

24.用 pyodps dataframe 應當避免任何循環,不然性能就是不太好的

25.不支援資料內建寫入外部表。跟源端是什麼類型無關。主要是目标端如果是外部表,則寫入會報錯。

26.不同主賬号的項目進行資料遷移,建議通過資料內建配置不同賬号下的資料源。

27.使用shell調用sql,請注意 accessid 、accesskey 和 endpoint 的替換,詳細調用方法如下: /opt/taobao/tbdpapp/odpswrapper/odpsconsole/bin/odpscmd -u accessid -p accesskey --project=testproject --endpoint=

http://service.odps.aliyun.com/api

-e "sql"

28.同步多個分區

讀取資料所在的分區資訊,支援linux shell通配符,包括 * 表示0個或多個字元,?代表任意一個字元。
    例如:現在有分區表 test,其存在 pt=1,ds=hangzhou pt=1,ds=shanghai pt=2,ds=hangzhou pt=2,ds=beijing 四個分區
    * 如果你想讀取 pt=1,ds=shanghai 這個分區的資料,那麼你應該配置為: "partition":["pt=1,ds=shanghai"];
    * 如果你想讀取 pt=1下的所有分區,那麼你應該配置為: "partition":["pt=1,ds=* "];
    * 如果你想讀取整個 test 表的所有分區的資料,那麼你應該配置為: "partition":["pt=*,ds=*"];
    * 如果需要按條件過濾,可以配置 "partition":["/*query*/ pt>=20190101 and pt<20190110"],表示同步pt分區大于等于20190101且小于20190110的所有資料           

29.資料服務API查詢慢,可以看入參,是否有分區列。如果有,連接配接串需要加 preferQueryMode=simple

30.冒煙測試是根據目前的設定進行的。

如果排程配置的是00:xx,會出現2019092500(如果配置的是yyyymmddhh24)

如果排程配置的是10:xx,會出現2019092510(如果配置的是yyyymmddhh24)

31.API網關報錯:後端API調用失敗,請檢查服務、網絡或者參數等資訊...

僅從報錯資訊來看,應該是後端請求負責過高導緻,這個可能和目前請求傳回的結果太多有關。這個資料服務本身就是在公測階段,沒法保證每次請求都能正常回報的,對于這種偶爾的錯誤,建議程式端适當加一下retry邏輯。

32.後付費執行個體數超出了每天的最大限制com.alibaba.phoenix.error.BillException: 後付費執行個體數超出了每天的最大限制

可以優先考慮是否存在欠費情況

33.HBASE同步:

目前使用預設資源組的話,雖然配置公網的zk位址,但無法保證所有的存儲都能公網連通。

是以建議使用自定義資源組(自己購買ecs後添加到dataworks)或獨享資源組(直接在dataworks購買)。

34.Redis資料源不支援同步到指的具體的Redis庫

35.經典網絡ECS上自建的資料源,建議使用資料內建自定義資源組,不保證預設資源組網絡可通。文檔上目前沒有說明。

36.DataWorks商業化後,自定義資源組也都商業化了。

可以确認一下需要那種資源組,然後購買相對應的版本:

https://help.aliyun.com/document_detail/118789.html?spm=a2c4g.11174283.6.583.64f62b65sXdQGk

如果是上海的“自定義排程資源組 ”,購買企業版後續聯系産品開通(提工單)

繼續閱讀