亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Apache-Drill 不理解 Pandas datetime64[ns]

Apache-Drill 不理解 Pandas datetime64[ns]

慕婉清6462132 2022-04-23 17:17:07
我正在使用Pyarrow、Pyarrow.Parquet以及Pandas。當我將 Pandasdatetime64[ns]系列發送到 Parquet 文件并通過鉆取查詢再次加載時,查詢顯示一個整數,例如:1467331200000000,這似乎不是 UNIX 時間戳。查詢如下所示:SELECT workspace.id-column AS id-column, workspace.date-column AS date-column當我再次在 Python 中打開該文件時,它會正確加載并且仍然具有它的datetime64[ns]類型。知道出了什么問題以及如何解決這個問題嗎?我希望這個值顯示為常規日期。
查看完整描述

2 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

好的,我幾天前找到了一個解決方案,我想分享一下。我想我最初錯過了一些東西。在將數據幀發送到 Parquet 之前,向下轉換到 [ms] 以及允許截斷時間戳非常重要,以便能夠在 Drill 中免費打開它:

pq.write_table(table, rf'{name}.parquet',
           coerce_timestamps='ms',
           allow_truncated_timestamps=True)

當我在 Drill 中定義一個視圖時,我可以根據需要將該列轉換為日期或時間戳。


查看完整回答
反對 回復 2022-04-23
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

你能分享一下鑲木地板模式嗎?它是否包含此列的 TIMESTAMP 邏輯類型?


現在,您可以編寫自定義 UDF,將 BigInt 納秒值轉換為時間戳,或使用內置函數(不確定 ns,但有很多函數接受毫秒):


select to_timestamp(1467331200000/1000);

+-----------------------+

|        EXPR$0         |

+-----------------------+

| 2016-07-01 03:00:00.0 |

+-----------------------+


查看完整回答
反對 回復 2022-04-23
  • 2 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號