在python中使用s3 select解析多个镶木地板文件?
Posted
技术标签:
【中文标题】在python中使用s3 select解析多个镶木地板文件?【英文标题】:parse multiple parquet files with s3 select in python? 【发布时间】:2019-10-16 11:37:45 【问题描述】:我正在尝试使用 boto3 从单个 S3 存储桶子文件夹中读取多个 parquet 文件。
我使用 python 读取单个 csv 文件没有问题,但我之前无法让它处理多个文件读取。
我之前看到过 aws 不支持的答案。不过据我了解,这个功能已经在 2018 年底实现了。
那么,有没有办法使用我的工作代码(如下所示)为相关文件夹中的所有 parquet 文件运行 s3 select
语句,即从所有文件中选择所有行?
存储桶中工作子文件夹中的文件:
_success
file1.snapy.parquet
file2.snapy.parquet
python 代码:
response = s3.select_object_content(
Bucket='somebucket',
Key= 'pathtosubfolder',
ExpressionType='SQL', <br>
InputSerialization = 'Parquet': ,
Expression="select * from s3object s ",
OutputSerialization = 'CSV': ,
)
我期待 sql 语句的结果,但是我得到了:
[ERROR] NoSuchKey: An error occurred (NoSuchKey) when calling the SelectObjectContent operation: The specified key does not exist.
【问题讨论】:
【参考方案1】:如果您想在 S3 中查询 parquet 格式对象的集合,您可能想看看 Amazon Athena。
Athena 完全托管 Facebook Presto 服务。
【讨论】:
以上是关于在python中使用s3 select解析多个镶木地板文件?的主要内容,如果未能解决你的问题,请参考以下文章
从AWS Lambda python函数将多个JSON文件合并到S3中的单个JSON文件