我如何疑難排解錯誤「失敗: 語義異常表未分區,但分區規範存在「在雅典娜?

1 分的閱讀內容
0

當我在 Amazon Athena 運作 ALTER TABLE ADD 分區時,出現此錯誤: 「失敗: 語義異常表未分區,但存在分區規範「」。

解決方案

如果您未在 CREATE TABLE 陳述式中定義任何分區,就會發生這個錯誤。若要解決此錯誤,請執行下列其中一個動作:

  • 重新建立表格並使用 PARABRED BY 來定義分區索引鍵。
  • 編輯表格結構定義。

重新建立表格

再次建立表格,然後使用 PARTITION BY 來定義分區索引鍵。如需範例,請參閱建立表格。定義分區之後,您可以使用 ALTER TABLE 新增分區來新增更多分區。

例如,如果您使用下列資料定義語言 (DDL) 來建立包含年、月和日三個分區的表格:

CREATE EXTERNAL TABLE test (
requestBeginTime string,
adId string,
...)
PARTITIONED BY (
year string,
month string,
day string
)
ROW FORMAT serde 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 's3://.../' ;

然後,添加類似於以下分區的分區:

ALTER TABLE impressions ADD
PARTITION (year = '2016', month = '05', day='04') LOCATION 's3://mystorage/path/to/data\_14\_May\_2016/';

編輯表格結構定義

若要在 AWS Glue 中編輯表格結構定義,請完成以下步驟:

  1. 開啟 AWS Glue 主控台
  2. 選擇清單中的表格名稱,然後選取「編輯結構定義」。
  3. 選取「新增欄」。
  4. 輸入欄名稱、類型和編號。然後,檢查分區鍵框。
  5. 選取「新增」。

如需詳細資訊,請參閱檢視和編輯表格詳細資訊

AWS 官方
AWS 官方已更新 2 年前