【发布时间】:2021-01-21 18:18:56
【问题描述】:
当我使用 Athena 从数据目录查询我的文件时,所有数据都显示为用引号括起来。是否可以删除这些引号?
我尝试在表格设置中添加quoteChar 选项,但没有帮助
更新
根据要求,DDL:
CREATE EXTERNAL TABLE `holidays`(
`id` bigint,
`start` string,
`end` string,
`createdat` string,
`updatedat` string,
`deletedat` string,
`type` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
WITH SERDEPROPERTIES (
'quoteChar'='\"')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://pinfare-glue/holidays/'
TBLPROPERTIES (
'CrawlerSchemaDeserializerVersion'='1.0',
'CrawlerSchemaSerializerVersion'='1.0',
'UPDATED_BY_CRAWLER'='pinfare-holidays',
'averageRecordSize'='84',
'classification'='csv',
'columnsOrdered'='true',
'compressionType'='none',
'delimiter'=',',
'objectCount'='1',
'recordCount'='29',
'sizeKey'='2494',
'skip.header.line.count'='1',
'typeOfData'='file')
【问题讨论】:
-
您是在查询 csv 数据吗?你用OpenCSVSerDe吗?
-
@YuriyBondaruk 是的
-
你能把你的表的 DDL 贴在这里吗?你能确认属性是否匹配,如下所示: 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' = '\\' ) 存储为文本文件位置 's3://位置/的/csv/';
-
@bdcloud 更新了 OP
-
您可以尝试在 DDL 下面使用所有列创建表,看看它是否忽略引号?创建外部表
holidays( .... ..... .....type字符串) 行格式分隔字段以 ',' 和 SERDEPROPERTIES ('separatorChar' = ',', 'quoteChar' = '\"', 'escapeChar' = '\\') 存储为输入格式 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3:// pinfare-glue/holidays/' TBLPROPERTIES ('skip.header.line.count'='1')
标签: amazon-web-services aws-glue