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

互操作性火花↔熊貓:不能把火花dataframe熊貓dataframe通過df.toPandas()時,它包含datetime值在遙遠的未來

MartinB
貢獻者三世

你好,

我在數據湖,有多個數據集特征valid_from和valid_to列指示行的有效性。

如果一行目前是有效的,這是由valid_to = 9999-12-31就是表示。

例子:

Example_SCD2加載到火花dataframe沒問題(火花與時間戳9999-12-31沒有問題)。

然而,對於分析和可視化的目的,我想做進一步的處理和熊貓而不是火花。但當試圖把dataframe熊貓出現錯誤:

ArrowInvalid:鑄件從時間戳(我們,tz =等/ UTC)時間戳(ns)會導致越限的時間戳:253379592300000000

代碼模擬問題:

進口datetime進口大熊貓作為pd df_spark_native = sc.parallelize([[1,“愛麗絲”,datetime。13)日期(1985年4日,datetime。datetime(1985、4、13、4、5)],[2“鮑勃”datetime。日期(9999年,1、20)datetime。datetime(9999、4、13、4、5)],[3“夏娃”datetime。日期(1500年,1、20)datetime。datetime(1500、4、13、4、5)],[3戴夫的datetime。日期(1,1,20),datetime。datetime (1、4、13、4、5)]])。toDF(‘身份證’,‘Some_Text’,‘Some_Date’,‘Some_Timestamp’))顯示(df_spark_native) df_spark_native.printSchema () df_spark_to_pandas = df_spark_native.toPandas()顯示(df_spark_to_pandas)

似乎對我來說,在引擎蓋下,火花使用pyarrow dataframe轉換為大熊貓。

Pyarrow已經有一些功能來處理日期和時間戳,否則會造成範圍問題:參數”timestamp_as_object”和“date_as_objectpyarrow.Table.to_pandas ()。然而,Spark.toPandas()目前不允許參數pyarrow傳遞下來。

1接受解決方案

接受的解決方案
4回複4

匿名
不適用

你好@Martin B . .很高興見到你。我派珀,這裏的社區版主之一。謝謝你的問題,我很抱歉聽到這個問題。如果沒有人評論很快,請耐心等待。星期一就回來。

MartinB
貢獻者三世

嗨@Piper威爾遜,團隊可以幫助嗎?

匿名
不適用

@Martin b——我很抱歉我的延遲反應。我打碎了團隊。謝謝你的耐心。

shan_chandra
尊敬的貢獻者二世
尊敬的貢獻者二世
歡迎來到磚社區:讓學習、網絡和一起慶祝

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

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

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

Baidu
map