你好,
我在數據湖,有多個數據集特征valid_from和valid_to列指示行的有效性。
如果一行目前是有效的,這是由valid_to = 9999-12-31就是表示。
例子:
加載到火花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_object”pyarrow.Table.to_pandas ()。然而,Spark.toPandas()目前不允許參數pyarrow傳遞下來。
目前,不支持綁定時間戳的pyArrow /熊貓。請參考以下相關JIRA的問題。
目前,不支持綁定時間戳的pyArrow /熊貓。請參考以下相關JIRA的問題。