2017-09-11 27 views
0

こんにちは私はcsvファイル形式S3を読む次のクエリでアテナでテーブルを作成しました。私は値からすべてのエスケープ文字(バックスラッシュ)を欠落しているアテーナでエスケープ文字を読み取る方法

"\emdc1fasHR_UKADPFreedom_Employee_20141114_11.04.00.csv" 

ように私の値が表示されます。このテーブルを読み込むときに、ファイル名に

CREATE EXTERNAL TABLE IF NOT EXISTS axlargetable.AEGIntJnlTblStaging (
    `filename` string, 
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES (
    'separatorChar' = ',', 
    'quoteChar' = '\"' 
    ) 
LOCATION 's3://ax-large-table/AEGIntJnlTblStaging/' 
TBLPROPERTIES ('has_encrypted_data'='false'); 

しかし、値が"\\emdc1fas\HR_UK\ADPFreedom_Employee_20141114_11.04.00.csv"

のように提出しました。

実際の値をエスケープ文字で表示するにはどのようにすればよいでしょうか。

おかげ

答えて

1

限り、あなたはエスケープを必要としないよう、あなたは(たとえば"|"用)無関係な何かにエスケープ文字を設定することができます。

CREATE EXTERNAL TABLE IF NOT EXISTS axlargetable.AEGIntJnlTblStaging (
    filename string 
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES (
    'separatorChar' = ',', 
    'quoteChar' = '\"', 
    'escapeChar' = '|' 
    ) 
LOCATION 's3://ax-large-table/AEGIntJnlTblStaging/' 
TBLPROPERTIES ('has_encrypted_data'='false'); 
+0

大変ありがとうございました – Sumon

関連する問題