取消
顯示的結果
而不是尋找
你的意思是:

不能創建一個表有一個蜂巢metastore列名字包含逗號。

戴爾
新的貢獻者三世

試圖從火花創建一個增量表數據幀使用下麵的命令:

destination_path = " / dbfs / mnt / kidneycaredevstore /δ/ df_corr_feats_spark_4”

df_corr_feats_spark.write.format .option (“delta.columnMapping(“δ”)。模式”、“名稱”).option(“路徑”,destination_path) .saveAsTable (“CKD_Features_4”)

得到以下錯誤:

AnalysisException:無法創建一個表列的名稱包含在蜂巢metastore逗號。表:“違約”。“abc_features_4”;專欄:不良,abc最初的相遇

請注意,大約有6 k列在這個數據幀,這是由數據科學家生成功能。所以,我們不能重命名列。

如何修複這個錯誤。任何幫助將不勝感激。

1接受解決方案

接受的解決方案

帕特
尊敬的貢獻者三世

嗨@Shafiul阿拉姆,

是的這是我會怎麼做。重命名列,我使用這個作為一個例子:re.sub (r”[^ 0-9a-zA-Z] +”、“_”,上校)

這裏的問題是,hive_metastore不允許名稱用逗號你是對的。相關的文檔必須的磚實現metastore——它有時令人困惑的文檔

這是細表統一目錄:

圖像

但對於hive_metastore拋出一個錯誤:

圖像

在原帖子查看解決方案

4回複4

帕特
尊敬的貢獻者三世

嗨@Shafiul阿拉姆,

誰給了那些名字列?:slightly_smiling_face:

你可以重命名列,替換空格或特殊字符,例如:

% python導入list_of_columns = df_corr_feats_spark。科勒姆renamed_list_of_columns = [re.sub (r ' [^ 0-9a-zA-Z] +”、“_”,上校)的上校list_of_columns] df_corr_feats_spark.toDF (* new_column_name_list)

謝謝,

帕特

戴爾
新的貢獻者三世

@Pat Sienkiewicz,謝謝你的回應。

那麼,這是否意味著三角洲表列不能包含非ascii字符嗎?我認為選擇(“delta.columnMapping。模式”、“名稱”)與非ascii字符處理列DBR > 10.2的特性。但是,看起來像Metastore不支持這樣的列命名。

再次感謝你的幫助。

帕特
尊敬的貢獻者三世

嗨@Shafiul阿拉姆,

是的這是我會怎麼做。重命名列,我使用這個作為一個例子:re.sub (r”[^ 0-9a-zA-Z] +”、“_”,上校)

這裏的問題是,hive_metastore不允許名稱用逗號你是對的。相關的文檔必須的磚實現metastore——它有時令人困惑的文檔

這是細表統一目錄:

圖像

但對於hive_metastore拋出一個錯誤:

圖像

戴爾
新的貢獻者三世

@Pat Sienkiewicz,非常感謝分享這個建議

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map