wie zu Lesen escape-Zeichen in Athena

Hallo ich habe eine Tabelle erstellt in der Athena mit der folgenden Abfrage, die Lesen csv-Datei Formular S3.

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');

Aber Wert mit dem Namen eingereicht, wie "\\emdc1fas\HR_UK\ADPFreedom_Employee_20141114_11.04.00.csv"

Wenn ich lese diese Tabelle meine Werte erscheint wie

"\emdc1fasHR_UKADPFreedom_Employee_20141114_11.04.00.csv"

wo ich fehlen alle escape-Zeichen (backslash) aus dem Wert.

Wie kann ich den Wert Lesen, die mir zeigen, der tatsächliche Wert mit escape-Zeichen.

Dank

InformationsquelleAutor Sumon | 2017-09-11

 

One Reply
  1. 2

    So lange, wie Sie brauchen nicht die Flucht, können Sie das escape-Zeichen, um etwas nicht (zum Beispiel "|").

    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');
    
    • Super, Danke, es hat funktioniert

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.