我在格式csv的数据上使用Athena仪表板运行了一个简单的查询。结果是带有列标题的csv。 存储结果时,Athena会在s3中存储列标题。如何跳过存储标题列名称,因为我必须从结果中创建新表并且它是重复的
答案 0 :(得分:1)
来自an Eric Hammond post on AWS Forums:
...
WHERE
date NOT LIKE '#%'
...
我发现这个有效!我采取的步骤:
WHERE <datefield> NOT LIKE '#%'
但是,后续查询会在该S3目录中存储更多数据,因此会混淆任何后续执行。
答案 1 :(得分:0)
尝试“skip.header.line.count”=“1”,此功能自2018-01-19以来已在AWS Athena上提供,以下是一个示例:
CREATE EXTERNAL TABLE IF NOT EXISTS tableName (
`field1` string,
`field2` string,
`field3` string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'separatorChar' = ',',
'quoteChar' = '\"',
'escapeChar' = '\\'
)
LOCATION 's3://fileLocation/'
TBLPROPERTIES ('skip.header.line.count'='1')
你可以参考这个问题: Aws Athena - Create external table skipping first row