将页脚从 s3 中的 csv 文件跳过到 Athena
Skip footer from csv files in s3 to Athena
我在 AWS Athena 中创建外部 table 时遇到问题。我有超过 1000 个 csv 文件,所有文件都有页眉和页脚,我想创建一个 Athena table 来可视化和分析所有数据。
我尝试使用以下代码,但删除页脚的 属性 似乎不起作用:
CREATE EXTERNAL TABLE test.multi_file_test(
`value1` string COMMENT '',
`value2` string COMMENT '',
`value3` string COMMENT '')
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\;'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://s3_path'
TBLPROPERTIES (
'areColumnsQuoted'='false',
'skip.header.line.count'='1',
'skip.footer.line.count'='1' <<<--- It doesn't seem to work
我得到这个结果
value1
value2
value3
from_file1
A
1
from_file1
B
1
footer_file1
from_file2
A
2
from_file2
B
2
footer_file2
from_file3
A
3
from_file3
B
3
footer_file3
但我需要得到这个结果:
value1
value2
value3
from_file1
A
1
from_file1
B
1
from_file2
A
2
from_file2
B
2
from_file3
A
3
from_file3
B
3
任何建议或解决方案都会很棒。
谢谢大家
恐怕在amazon athena中是没有办法做到的。
如果您使用的是 Athena 引擎版本 1,那么这将不起作用,因为它基于 Presto 0.172,其中 属性 'skip.footer.line.count'='1'
添加到 Presto 0.199。您必须切换到基于 Presto 0.217 的 Athena 引擎版本 2 才能正常工作。
我已经在版本 2 中进行了测试并且能够看到这项工作。请参阅 this 了解在 Athena 中更改版本。
我在 AWS Athena 中创建外部 table 时遇到问题。我有超过 1000 个 csv 文件,所有文件都有页眉和页脚,我想创建一个 Athena table 来可视化和分析所有数据。
我尝试使用以下代码,但删除页脚的 属性 似乎不起作用:
CREATE EXTERNAL TABLE test.multi_file_test(
`value1` string COMMENT '',
`value2` string COMMENT '',
`value3` string COMMENT '')
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\;'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://s3_path'
TBLPROPERTIES (
'areColumnsQuoted'='false',
'skip.header.line.count'='1',
'skip.footer.line.count'='1' <<<--- It doesn't seem to work
我得到这个结果
value1 | value2 | value3 |
---|---|---|
from_file1 | A | 1 |
from_file1 | B | 1 |
footer_file1 | ||
from_file2 | A | 2 |
from_file2 | B | 2 |
footer_file2 | ||
from_file3 | A | 3 |
from_file3 | B | 3 |
footer_file3 |
但我需要得到这个结果:
value1 | value2 | value3 |
---|---|---|
from_file1 | A | 1 |
from_file1 | B | 1 |
from_file2 | A | 2 |
from_file2 | B | 2 |
from_file3 | A | 3 |
from_file3 | B | 3 |
任何建议或解决方案都会很棒。
谢谢大家
恐怕在amazon athena中是没有办法做到的。
如果您使用的是 Athena 引擎版本 1,那么这将不起作用,因为它基于 Presto 0.172,其中 属性 'skip.footer.line.count'='1'
添加到 Presto 0.199。您必须切换到基于 Presto 0.217 的 Athena 引擎版本 2 才能正常工作。
我已经在版本 2 中进行了测试并且能够看到这项工作。请参阅 this 了解在 Athena 中更改版本。