嗨,我在雅典娜创建了一个带有以下查询的表,该表将读取csv文件格式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');
但是文件名中的值像 "\\emdc1fas\HR_UK\ADPFreedom_Employee_20141114_11.04.00.csv"
当我阅读此表时,我的值看起来像
"\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' = '\"',
'escapeChar' = '|'
)
LOCATION 's3://ax-large-table/AEGIntJnlTblStaging/'
TBLPROPERTIES ('has_encrypted_data'='false');
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句