【发布时间】:2022-01-03 23:30:16
【问题描述】:
一段时间以来,我一直在尝试设置 athena 数据库,我似乎正确设置了数据库,但是当我查询它时,它没有返回任何数据。我查询的数据是一系列分区的S3文件,结构为
"S3://bucket_name/data1=partition_1/data2=partition_2/data3=partition_3/data4=partition_4/file.json"
一个分区中可以有多个file.json,例如
"S3://bucket_name/data1=partition_1/data2=partition_2/data3=partition_3/data4=partition_4/file1.json"
"S3://bucket_name/data1=partition_1/data2=partition_2/data3=partition_3/data4=partition_4/file2.json"
以下是我正在运行的查询以及创建命令和存储的数据
CREATE EXTERNAL TABLE bench_logs (
id string,
filename string,
data struct<transmit_start: timestamp,
transmit_end:timestamp,
transfer_start:timestamp,
transfer_end:timestamp,
processing_start:timestamp,
processing_end:timestamp>
)
PARTITIONED BY (
partition_1 string,
partition_2 string,
partition_3 date,
partition_4 string
)
ROW FORMAT SERDE
'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ('ignore.malformed.json' = 'true')
LOCATION
's3://benchmark-files/complete/'
TBLPROPERTIES (
'classification'='json',
'storage.location.template'='s3://iceqube-benchmark-files/complete/partition_1=${partition_1}/partition_2=${partition_2}/partition_3=${partition_3}/partition_4=${partition_4}/')
正在查询该表:
SELECT id FROM "benchmark"."bench_logs"
WHERE partition_1='foo'
AND partition_2='bar'
AND partition_3=cast('1970-01-01' as date)
AND partition_4='09:30:00';
查询说它运行正确,但除了列标题之外我没有看到任何数据。
如果需要更多数据而无法提供,我已经被困了几天,根本无法理解它。提前致谢。
【问题讨论】:
标签: json amazon-web-services amazon-s3 amazon-athena