web-dev-qa-db-ja.com

二重引用符とコンマを使用したAWSGlueの問題

私はこのCSVファイルを持っています:

reference,address
V7T452F4H9,"12410 W 62TH ST, AA D"

次のオプションがテーブル定義で使用されています

ROW FORMAT SERDE 
  'org.Apache.hadoop.Hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES ( 
  'quoteChar'='\"', 
  'separatorChar'=',') 

ただし、それでもデータ内の二重引用符は認識されず、二重引用符フィールド内のそのコンマがデータを台無しにしています。 Athenaクエリを実行すると、結果は次のようになります。

reference     address
V7T452F4H9    "12410 W 62TH ST

この問題を修正するにはどうすればよいですか?

6
ln9187

escapeCharも追加する必要があるようです。 AWS Athena docs はこの例を示しています:

CREATE EXTERNAL TABLE myopencsvtable (
   col1 string,
   col2 string,
   col3 string,
   col4 string
)
ROW FORMAT SERDE 
'org.Apache.hadoop.Hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
   'separatorChar' = ',',
   'quoteChar' = '\"',
   'escapeChar' = '\\'
   )
STORED AS TEXTFILE
LOCATION 's3://location/of/csv/';
1
botchniaque