嗨
試圖從火花創建一個增量表數據幀使用下麵的命令:
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列在這個數據幀,這是由數據科學家生成功能。所以,我們不能重命名列。
如何修複這個錯誤。任何幫助將不勝感激。
嗨@Shafiul阿拉姆,
是的這是我會怎麼做。重命名列,我使用這個作為一個例子:re.sub (r”[^ 0-9a-zA-Z] +”、“_”,上校)
這裏的問題是,hive_metastore不允許名稱用逗號你是對的。相關的文檔必須的磚實現metastore——它有時令人困惑的文檔
這是細表統一目錄:
但對於hive_metastore拋出一個錯誤:
嗨@Shafiul阿拉姆,
誰給了那些名字列?
你可以重命名列,替換空格或特殊字符,例如:
% 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)
謝謝,
帕特