首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python boto3如何在拼花面板上配置s3select?

python boto3如何在拼花面板上配置s3select?
EN

Stack Overflow用户
提问于 2018-09-20 23:11:43
回答 1查看 2.4K关注 0票数 3

我正在尝试使用亚马逊网络服务的s3select功能来查询拼图文件。根据the documentation的说法,它是受支持的,但我尝试了各种配置,但无法让它工作。在我显示的每一次被注释掉的InputSerialization尝试中,我都列出了在尝试该版本时收到的错误。有人能告诉我如何正确配置它吗?

代码语言:javascript
运行
复制
import boto3

S3_BUCKET = 'myBucket'
KEY_LIST = "'0123','6789'"
S3_FILE = 'myFolder/myFile.parquet'

s3 = boto3.client('s3')

r = s3.select_object_content(
        Bucket=S3_BUCKET,
        Key=S3_FILE,
        ExpressionType='SQL',
        Expression="select \"Record\" from s3object s where s.\"Key\" in [" + KEY_LIST + "]",
#        InputSerialization={}, # (MissingRequiredParameter) when calling the SelectObjectContent operation: InputSerialization is required
#        InputSerialization={'CompressionType': { 'NONE' }},    # Invalid type for parameter InputSerialization.CompressionType, value: {'NONE'}, type: <class 'set'>, valid types: <class 'str'>
#        InputSerialization={'Parquet': {}}, # Unknown parameter in InputSerialization: "Parquet", must be one of: CSV, CompressionType, JSON
#        InputSerialization={'CompressionType': { 'Snappy' }},    # Invalid type for parameter InputSerialization.CompressionType, value: {'Snappy'}, type: <class 'set'>, valid types: <class 'str'>

        OutputSerialization={'JSON': {}},
)

for event in r['Payload']:
    if 'Records' in event:
        records = event['Records']['Payload'].decode('utf-8')
        print(records)
EN

Stack Overflow用户

发布于 2018-09-21 02:11:47

我需要将我的boto3安装升级到最新版本。升级到1.9.7后,此版本正常工作:

代码语言:javascript
运行
复制
InputSerialization={'Parquet': {}},
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52428294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档