4

我在 S3 中有一个文件,其中包含以下数据:

name,age,gender
jill,30,f
jack,32,m

还有一个红移外部表,用于使用频谱查询该数据:

create external table spectrum.customers ( 
 "name" varchar(50),
 "age" int,
 "gender" varchar(1))
row format delimited
fields terminated by ','
lines terminated by \n'
stored as textfile 
location 's3://...';

查询数据时,我得到以下结果:

select * from spectrum.customers;
name,age,g
jill,30,f
jack,32,m

作为外部表定义的一部分,是否有一种优雅的方法可以跳过标题行,类似于tblproperties ("skip.header.line.count"="1")Hive 中的选项?或者是我唯一的选择(至少现在)作为选择语句的一部分过滤掉标题行?

4

2 回答 2

14

回答这个问题:当我们从 s3 中的 csv 文件读取数据并在 aws athena 中创建表时,如何跳过标题。

这适用于红移:

如果需要,您想table properties ('skip.header.line.count'='1') 与其他属性一起使用,例如'numRows'='100'. 这是一个示例:

create external table exreddb1.test_table
(ID BIGINT 
,NAME VARCHAR
)
row format delimited
fields terminated by ','
stored as textfile
location 's3://mybucket/myfolder/'
table properties ('numRows'='100', 'skip.header.line.count'='1');
于 2017-12-11T15:43:33.590 回答
3

目前,AWS Redshift Spectrum 不支持跳过标题行。如果可以,您可以提出支持问题,以便跟踪此功能的可用性。

可以将此请求转发给开发团队以供考虑。

于 2017-07-13T05:03:39.467 回答