2017-09-27 46 views
2

我試圖創建CSV文件的外部表與AWS雅典娜與下面的代碼,但該行TBLPROPERTIES ("skip.header.line.count"="1")不起作用:它不會跳過第一行(頭)的csv文件。AWS雅典娜 - 創建外部表跳過第一行

CREATE EXTERNAL TABLE mytable 
(
    colA string, 
    colB int 
) 

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES (
    'separatorChar' = ',', 
    'quoteChar' = '\"', 
    'escapeChar' = '\\' 
    ) 
STORED AS TEXTFILE 
LOCATION 's3://mybucket/mylocation/' 
TBLPROPERTIES (
    "skip.header.line.count"="1") 

有沒有建議嗎?

回答

2

這是一個尚未實現的功能。 ‘再一次,我們正在研究,並會盡快我們有一個 結果報到對不起,這這最終採取比 我們的預期要長。’

:見阿布舍克@ AWS的響應here

我的解決方法一直是預處理創建表之前的數據:

  1. 使用bash sed -e 1d -e 's/\"//g' file.csv > file-2.csv
  2. 從S3
  3. 條標題下載CSV文件將結果上傳到自己的文件夾在S3上
  4. 創建表
+1

此功能自2018年1月19日已經可以在AWS雅典娜。看到忽略頭https://docs.aws.amazon.com/athena/latest/ug/release-note-2018-01-19.html >支持。定義表格時可以使用skip.header.line.count屬性,以允許Athena忽略標題。 – shawnzhu

1

剛剛嘗試過"skip.header.line.count"="1",現在似乎工作正常。

+0

其實它不再工作。不知道什麼時候這將被真正修復。 –

+0

TBLPROPERTIES(「skip.header.line.count」 =「1」)..工作得很好,我 –

+0

它開始自2018年1月19日上班。看到https://docs.aws.amazon.com/athena/latest/ug/release-note-2018-01-19.html – shawnzhu