如何讀取HDFS上的csv/tsv檔案的Timestamp列 - Qiita
如何讀取放置在 HDFS 上的 csv/tsv 檔案的時間戳列,當一個包含 Timestamp 型別字串列的 csv/tsv 檔案被放置在 HDFS 上,讀入一個表,然後需要將該列插入另一個表的過程。我想知道 csv / tsv 檔案的 Timestamp 型別字串是否可以像 Hive 的 Timestamp 型別一樣讀取?
發現:
- 如果您使用的是 Hive 1.2.0 或更高版本,請按照https://issues.apache.org/jira/browse/HIVE-9298 中所述格式化每個表的時間戳。
- 在此之前,為了將包含 Timestamp 型別字串列的 csv/tsv 檔案讀取為外部表,最好將其轉換為 unixtime 並輸出。並且當插入到另一個表中時,它會透過 Hive 的查詢轉換為 Timestamp 型別。
1. 如果您使用的是 Hive 1.2.0 或更高版本
如果建立了表,將時間戳格式設定為讀取csv/tsv檔案的表的serdeproperty,如下所示:
ALTER TABLE hogehoge_table SET SERDEPROPERTIES ("timestamp.formats"="yyyy-MM-dd HH:mm:ss");
從現在開始建立表時,最好使用 DDL 進行設定。
CREATE EXTERNAL TABLE hogehoge_table ( column_1 STRING, column_2 INT, target_column TIMESTAMP ) PARTITIONED BY ( partition_column STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' WITH SERDEPROPERTIES ( "timestamp.formats"="yyyy-MM-dd HH:mm:ss" ) LOCATION '<your hdfs file location>' ; |
在任何情況下,target_column 都可以選擇為 Hive 的時間戳格式。
2. Hive 1.2.0以前版本
建立表讀取csv/tsv檔案時,設定為unixtime格式而不是Timestamp型別的字串。
CREATE EXTERNAL TABLE hogehoge_table ( column_1 STRING, column_2 INT, target_column BIGINT ) PARTITIONED BY ( partition_column STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' LOCATION '<your hdfs file location>' ; |
將它插入另一個表時,它會被 SELECT 語句轉換:
INSERT OVERWRITE TABLE fugafuga_table PARTITION (partition_column = 'aaa') SELECT column_1 ,column_2 ,CAST(FROM_UNIXTIME(target_column, 'yyyy-MM-dd HH:mm:ss') AS TIMESTAMP) AS target_column FROM hogehoge_table WHERE partition_column = 'aaa' |
相關文章
- 如何獲取HDFS上檔案的儲存位置
- csv檔案的寫入和讀取
- python 使用字典讀取CSV檔案Python
- Jmeter之讀取csv檔案踩坑記JMeter
- R語言 - 讀取CSV檔案報錯R語言
- jmeter 引數化 csv外掛的讀取檔案 bin目錄JMeter
- php如何上傳txt檔案,並且讀取txt檔案PHP
- Python 高階程式設計:深入解析 CSV 檔案讀取Python程式設計
- C語言讀取寫入CSV檔案 [一]基礎篇C語言
- python如何讀取大檔案Python
- Python專案實踐:串列埠字串資料的讀取、分割與儲存到csv檔案Python串列埠字串
- 基於 java 註解的 csv 檔案讀寫框架Java框架
- go–讀取檔案的方式Go
- 如何有效恢復誤刪的HDFS檔案
- csv格式檔案在win10上如何開啟_win10怎麼開啟csv格式檔案Win10
- 源資料檔案(.csv)中的空格串和空串對pandas讀取結果的影響
- ServiceNow如何匯出豎線分割的CSV檔案?
- 讀取CSV資料
- Android讀取配置檔案的方法Android
- CSV檔案讀取效能大決戰:Julia 、Python與R語言 - DeepakPythonR語言
- spark直接讀取本地檔案系統的檔案Spark
- 5種高大上的yml檔案讀取方式,你知道嗎?
- 如何使用File APIs來讀取檔案API
- 如何讀取和寫入JSON檔案JSON
- 如何在python中讀取配置檔案Python
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- 從CSV檔案中讀取jpg圖片的URL地址並多執行緒批量下載執行緒
- Hadoop之HDFS檔案讀寫流程說明Hadoop
- python讀取yaml配置檔案的方法PythonYAML
- 新型任意檔案讀取漏洞的研究
- php讀取檔案的幾種方式PHP
- 任意檔案讀取
- Java 讀取檔案Java
- linux 下MySQL命令列匯出csv檔案格式LinuxMySql命令列
- FileReader()讀取檔案、圖片上傳預覽
- 說說在 Python 中,如何讀取檔案中的資料Python
- 如何使用python把json檔案轉換為csv檔案PythonJSON
- Pandas 基礎 (4) - 讀 / 寫 Excel 和 CSV 檔案Excel