2017-09-27 5 views
2

以下のコードでAws Athenaで外部テーブルを作成しようとしていますが、TBLPROPERTIES ("skip.header.line.count"="1")という行は機能しません。最初の行はスキップされません)のcsvファイルの。Aws Athena - 最初の行をスキップする外部テーブルを作成します。

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. から
  4. をcsvファイルをダウンロードしてください:私の回避策は、テーブルを作成する前に前処理するデータとなっている

S3上で

  • テーブルを作成
  • +1

    この機能は、2018-01-19以降AWS Athenaで利用できます。 https://docs.aws.amazon.com/athena/latest/ug/release-note-2018-01-19.html >ヘッダーの無視のサポートを参照してください。 Athenaがヘッダーを無視できるように、表を定義するときにskip.header.line.countプロパティーを使用できます。 – shawnzhu

    1

    ちょうど"skip.header.line.count"="1"を試しましたが、今は正常に動作しているようです。

    +0

    実際にはもう動作しません。これがいつ実際に修正されるかはわかりません。 –

    +0

    TBLPROPERTIES( 'skip.header.line.count' = '1')..私のために正常に働いた –

    +0

    それは2018-01-19以来働き始める。 https://docs.aws.amazon.com/athena/latest/ug/release-note-2018-01-19.htmlを参照してください。 – shawnzhu

    関連する問題