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

如何設置屬性為δ表當我想寫DataFrame ?

麥當娜
重視貢獻二世

你好,

我有一個PySpark DataFrame包含1100萬條記錄。我創建了DataFrame集群。這不是保存在DBFS或存儲賬戶。

進口pyspark.sql。函數從pyspark.sql F。功能導入坳,地板,expr,小時,分鍾,to_timestamp,爆炸,序列#定義的開始和結束日期時間間隔start_datetime =“1990-01-01”就是end_datetime =“2099-12-31 23:55:00”interval_minutes = 5 #分鍾#創建帶有間隔序列的DataFrame df =火花。範圍(0,1).select (expr (f”序列(to_timestamp (“{start_datetime}”), to_timestamp (“{end_datetime}”),間隔{interval_minutes}分鍾)”).alias(“時間”))#爆炸序列列來創建個人間隔df = df.select(爆炸(坳(“時間”)).alias(“時間”))#創建帶有間隔序列的DataFrame df =火花。範圍(0,1).select (expr (f”序列(to_timestamp (“{start_datetime}”), to_timestamp (“{end_datetime}”),間隔{interval_minutes}分鍾)”).alias(“時間”))#爆炸序列列來創建個人間隔df = df.select(爆炸(坳(“時間”)).alias(“時間”))# interval_period df = df添加一個新的列。withColumn (Interval_Period, Interval_Period) df = df。withColumn (Interval_Date, F.to_date (F.col(“時間”)))

當我想寫在存儲賬戶三角洲表:

df。寫\ .format(“δ”)\ .mode(“覆蓋”)\ .option(“路徑”、“table_path”) \ .saveAsTable (my_table) #外部表

我得到錯誤:

AnalysisException:中發現無效的字符(s), {} () \ n \ t = '列名的模式。請升級您的三角洲表讀者和作家版本5和版本2列映射模式更改為“名字”映射。您可以使用以下命令:ALTER TABLE TBLPROPERTIES (delta.columnMapping。模式”=“名稱”、“三角洲。minReaderVersion ' = ' 2 ', '三角洲。minWriterVersion ' = ' 5 ')Refer to table versioning athttps://docs.microsoft.com/azure/databricks/delta/versioning

我的問題是我怎麼可以設置這些屬性。不是我沒有δ表。我是一個DataFrame上創建一個集群。

我得到錯誤當我希望t寫文件。

1接受解決方案

接受的解決方案

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨@Mohammad軍刀,據我的理解,這個問題抱怨的一些列在三角洲表(你在哪裏寫),{}()\ n \ t = '列名。你需要改變讀者和作家三角洲表的版本能夠2和5分別使用以下命令

ALTER TABLE TBLPROPERTIES (

“delta.columnMapping。模式”=“名稱”,

“三角洲。minReaderVersion ' = ' 2 ',

“三角洲。minWriterVersion ' = ' 5 ')

在原帖子查看解決方案

4回複4

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨@Mohammad軍刀,你錯誤在寫表的文件嗎?還是之前?

麥當娜
重視貢獻二世

嗨@Lakshay高爾

我得到錯誤當我想寫文件。

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨@Mohammad軍刀,據我的理解,這個問題抱怨的一些列在三角洲表(你在哪裏寫),{}()\ n \ t = '列名。你需要改變讀者和作家三角洲表的版本能夠2和5分別使用以下命令

ALTER TABLE TBLPROPERTIES (

“delta.columnMapping。模式”=“名稱”,

“三角洲。minReaderVersion ' = ' 2 ',

“三角洲。minWriterVersion ' = ' 5 ')

麥當娜
重視貢獻二世

謝謝,

我發現我應該先創建一個表使用上麵的屬性,然後我寫Dataframe表。

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

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

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

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

Baidu
map