亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

Doris-HDFS LOAD常見問題匯總(一)

2024-09-27 09:20:40
311
0

1、HDFS Load導入失敗:no partition for this tuple.

  • 現象描述:導入顯示狀態為Canceled,URL錯誤詳情顯示 no partition for this tuple.
  • 可能原因:

              1、分區字段沒有值,語句種未設定該字段

              2、字段有值,但是轉換有問題,一般常見202405月分區導入,Doris需要加上日,如20240501進行時間轉換

  • 定位方式:
      1. 查詢任務狀態show load where label="" from db_name;
      2. show load warnings on "URL" 。日志詳情里顯示no partition for this tuple
  • 解決方案:

                1、首先判斷Doris表有沒有對應的分區。沒有則新建分區

              ALTER TABLE example_db.my_table ADD PARTITION p1 VALUES [("2014-01-01"), ("2014-02-01"));

                2、查看分區值是否符合要求,一般需要到天,例如20240501即可自動轉換日期值,其他數據類型轉換錯誤可select 轉換確認是否能顯示正確結果。

2、HDFS Load導入失敗:Fail to parse columnsFromPath

  • 現象描述:導入顯示狀態為Canceled,ETL詳情里顯示type:ETL_RUN_FAIL; msg:errCode = 2, detailMessage = Fail to parse columnsFromPath, expected: [deal_date], filePath: hdfs://XXX/xxx_mobile_XXXXX_new/000000_0
  • 可能原因:導入語句里配置了從HDFS路徑里獲取deal_date字段值,但是實際路徑里沒有該字段路徑,導致解析失敗。
  • 定位方式:查看導入語句里是否有COLUMNS FROM PATH AS (deal_date)語句。
  • 解決方案:
      • 1、如果HDFS路徑正常,則需要將語句中的COLUMNS FROM PATH AS (deal_date)刪除或替換成正確的路徑。
      • 2、如果HDFS路徑設置錯誤,則修改HDFS路徑。

3、HDFS Load導入失敗:Label [hs_f1r_2024_ds] has already been used

  • 現象描述:導入顯示狀態為Canceled,ETL詳情里顯示type:ETL_RUN_FAIL; msg:errCode = 2, detailMessage = Label [hs_f1r_2024_ds] has already been used, relate to txn [84922666]
  • 可能原因:導入設置的Label已被使用,且未被清理。
  • 定位方式:show load where label="hs_f1r_2024_ds";是否存在成功記錄。
  • 解決方案:
      • Doris在數據導入時根據Label唯一來確認該批次導入未重復,因此Label在一個生命周期內只能有一個,當前集群默認保留3天,或200W個Label。假設為人為已知重復導入或重新導入有兩種解決方案:
        1. 修改本次Label。
        2. 清理指定Label。clean label where label=""; 進行手動清理。因清理后會丟失導入記錄,請謹慎采取。

4、HDFS Load導入失敗:actual column number in csv file is less/more than schema column number

  • 現象描述:導入顯示狀態為Canceled,URL錯誤詳情顯示actual column number in csv file is less than schema column number.........
  • 可能原因:
      • 1、HDFS對應字段數少于Doris表結構的字段數
      • 2、HDFS對應的分隔符設置錯誤
      • 3、HDFS對應的分隔符在字段里也存在(more than)
      • 4、HDFS對應的字段數多于Doris表結構的字段數(more than)
  • 定位方式:
    • 1、比較HDFS對應字段數和Doris字段數是否對應。
    • 2、查看HDFS分隔符是否與設置的分隔符相對應。
    • 3、檢查原始數據字段中是否含有與分隔符相同字符。
  • 解決方案:
      • 1、假如字段數未對應上則需重新創建Doris表對應字段。
      • 2、假如目標就是取部分字段,則需在導入語句中正確設置Set部分屬性,等號左邊為Doris字段,右邊為HDFS解析字段。
      • 3、分隔符錯誤。一般會提示actual number: 1, schema column number: 181; line delimiter: [修改對應分隔符后重新導入。分隔符可以咨詢負責改原始表的同事,或者hadoop fs -head 該hdfs路徑下的文件。hive默認為\0x01
      • 4、字段中存在指定分隔符,常見回車符或者其他相同字符,假設是相同字符,則修改原始表或者創建中間表。若為回車字符,則需判斷是否允許部分記錄過濾,若不允許請修改原始表數據。

HDFS Load導入執行后,Show Load為空。

  • 現象描述:load都執行了,怎么查詢show load是空的?

                                  show load where label = 'XXXXXXXXXXXXXXXXX9075004';

  • 可能原因:
      • 1、導入的Label被人為清理。
      • 2、集群導入的Label數超過了設置值被系統清理。
      • 3、集群導入的Label超過3天的過期時效,被系統清理了。
  • 定位方式:
      1. 確認當前集群設置的Label數清理閾值:
      2. 確認該導入是否是3天前的Label。
      3. 確認該導入Label不會被清理。
  • 解決方案:
      • 1、假設當前Label設置的閾值過小,修改集群設置

                   ADMIN SET ALL FRONTENDS CONFIG ("key" = "value");

          • 過期時間:

                                              label_keep_max_second

                                              默認值:3 * 24 * 3600 (3 天)

          • 保持的Label數量

                   label_num_threshold=1000000

                                             默認值:800

 

      • 2、在能開調度日志里檢查確認Label計算無誤,確認未被人為清理。
      • 3、集群元數據異常。該情況需聯系運維人員排查。
0條評論
0 / 1000
劉****陽
6文章數
1粉絲數
劉****陽
6 文章 | 1 粉絲
原創

Doris-HDFS LOAD常見問題匯總(一)

2024-09-27 09:20:40
311
0

1、HDFS Load導入失敗:no partition for this tuple.

  • 現象描述:導入顯示狀態為Canceled,URL錯誤詳情顯示 no partition for this tuple.
  • 可能原因:

              1、分區字段沒有值,語句種未設定該字段

              2、字段有值,但是轉換有問題,一般常見202405月分區導入,Doris需要加上日,如20240501進行時間轉換

  • 定位方式:
      1. 查詢任務狀態show load where label="" from db_name;
      2. show load warnings on "URL" 。日志詳情里顯示no partition for this tuple
  • 解決方案:

                1、首先判斷Doris表有沒有對應的分區。沒有則新建分區

              ALTER TABLE example_db.my_table ADD PARTITION p1 VALUES [("2014-01-01"), ("2014-02-01"));

                2、查看分區值是否符合要求,一般需要到天,例如20240501即可自動轉換日期值,其他數據類型轉換錯誤可select 轉換確認是否能顯示正確結果。

2、HDFS Load導入失敗:Fail to parse columnsFromPath

  • 現象描述:導入顯示狀態為Canceled,ETL詳情里顯示type:ETL_RUN_FAIL; msg:errCode = 2, detailMessage = Fail to parse columnsFromPath, expected: [deal_date], filePath: hdfs://XXX/xxx_mobile_XXXXX_new/000000_0
  • 可能原因:導入語句里配置了從HDFS路徑里獲取deal_date字段值,但是實際路徑里沒有該字段路徑,導致解析失敗。
  • 定位方式:查看導入語句里是否有COLUMNS FROM PATH AS (deal_date)語句。
  • 解決方案:
      • 1、如果HDFS路徑正常,則需要將語句中的COLUMNS FROM PATH AS (deal_date)刪除或替換成正確的路徑。
      • 2、如果HDFS路徑設置錯誤,則修改HDFS路徑。

3、HDFS Load導入失敗:Label [hs_f1r_2024_ds] has already been used

  • 現象描述:導入顯示狀態為Canceled,ETL詳情里顯示type:ETL_RUN_FAIL; msg:errCode = 2, detailMessage = Label [hs_f1r_2024_ds] has already been used, relate to txn [84922666]
  • 可能原因:導入設置的Label已被使用,且未被清理。
  • 定位方式:show load where label="hs_f1r_2024_ds";是否存在成功記錄。
  • 解決方案:
      • Doris在數據導入時根據Label唯一來確認該批次導入未重復,因此Label在一個生命周期內只能有一個,當前集群默認保留3天,或200W個Label。假設為人為已知重復導入或重新導入有兩種解決方案:
        1. 修改本次Label。
        2. 清理指定Label。clean label where label=""; 進行手動清理。因清理后會丟失導入記錄,請謹慎采取。

4、HDFS Load導入失敗:actual column number in csv file is less/more than schema column number

  • 現象描述:導入顯示狀態為Canceled,URL錯誤詳情顯示actual column number in csv file is less than schema column number.........
  • 可能原因:
      • 1、HDFS對應字段數少于Doris表結構的字段數
      • 2、HDFS對應的分隔符設置錯誤
      • 3、HDFS對應的分隔符在字段里也存在(more than)
      • 4、HDFS對應的字段數多于Doris表結構的字段數(more than)
  • 定位方式:
    • 1、比較HDFS對應字段數和Doris字段數是否對應。
    • 2、查看HDFS分隔符是否與設置的分隔符相對應。
    • 3、檢查原始數據字段中是否含有與分隔符相同字符。
  • 解決方案:
      • 1、假如字段數未對應上則需重新創建Doris表對應字段。
      • 2、假如目標就是取部分字段,則需在導入語句中正確設置Set部分屬性,等號左邊為Doris字段,右邊為HDFS解析字段。
      • 3、分隔符錯誤。一般會提示actual number: 1, schema column number: 181; line delimiter: [修改對應分隔符后重新導入。分隔符可以咨詢負責改原始表的同事,或者hadoop fs -head 該hdfs路徑下的文件。hive默認為\0x01
      • 4、字段中存在指定分隔符,常見回車符或者其他相同字符,假設是相同字符,則修改原始表或者創建中間表。若為回車字符,則需判斷是否允許部分記錄過濾,若不允許請修改原始表數據。

HDFS Load導入執行后,Show Load為空。

  • 現象描述:load都執行了,怎么查詢show load是空的?

                                  show load where label = 'XXXXXXXXXXXXXXXXX9075004';

  • 可能原因:
      • 1、導入的Label被人為清理。
      • 2、集群導入的Label數超過了設置值被系統清理。
      • 3、集群導入的Label超過3天的過期時效,被系統清理了。
  • 定位方式:
      1. 確認當前集群設置的Label數清理閾值:
      2. 確認該導入是否是3天前的Label。
      3. 確認該導入Label不會被清理。
  • 解決方案:
      • 1、假設當前Label設置的閾值過小,修改集群設置

                   ADMIN SET ALL FRONTENDS CONFIG ("key" = "value");

          • 過期時間:

                                              label_keep_max_second

                                              默認值:3 * 24 * 3600 (3 天)

          • 保持的Label數量

                   label_num_threshold=1000000

                                             默認值:800

 

      • 2、在能開調度日志里檢查確認Label計算無誤,確認未被人為清理。
      • 3、集群元數據異常。該情況需聯系運維人員排查。
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0