我正在将一个 python 项目(s3 + Athena)从使用 csv 移植到镶木地板。
我可以制作parquet文件,可以通过Parquet View查看。
我可以将文件上传到 s3 存储桶。
我可以创建指向 s3 存储桶的 Athena 表。
但是,当我在 Athena Web GUI 上查询表时,它运行了 10 分钟(似乎永远不会停止)并且没有显示结果。
整个项目很复杂。我试图简化案例。
1.假设,我们有以下csv文件(test.csv)
"col1","col2"
"A","B"
2.然后,我使用以下python(2.7)代码将其转换为镶木地板文件(test.parquet)
import fastparquet
import pandas as pd
df = pd.read_csv(r"test.csv")
fastparquet.write(r"test.parquet", df, compression="GZIP")
3.通过 s3 Web GUI 将 test.parquet 上传到 s3 存储桶文件夹“abc_bucket/abc_folder”
4.通过Athena Web GUI创建下表
CREATE EXTERNAL TABLE IF NOT EXISTS abc_folder (
`col1` string,
`col2` string)
STORED AS PARQUET
LOCATION 's3://abc_bucket/abc_folder/'
TBLPROPERTIES (
"parquet.compress"="GZIP"
);
5.最后,在 Athena 上运行以下 SQL。SQL 运行 10 分钟,似乎永远存在。
select *
from abc_folder;
我的问题是上面哪一步是错误的,所以我无法从 Athena 查询表。
非常感谢您提供任何帮助。