【问题标题】:S3-Select Pricing on JSONS3-选择 JSON 定价
【发布时间】:2021-04-03 20:13:53
【问题描述】:

我对关于返回数据和扫描数据的 S3 选择定价感到困惑。如果我想访问 json 文件中索引处的某些内容,它是否仍会扫描整个文件并且扫描的数据会计入整个文件大小?假设我对这个示例文件使用以下查询:

select * from S3Object[*].place1[*].Houses[*]

{
    "place1": [
        "Houses": [
            {
                "date": "1777-06-30",
                "price": "445000.0"
            },
            {
                "date": "2014-10-31",
                "price": "495000.0"
            }
        ],
        "Apartments": [
            {
                "date": "1777-06-30",
                "price": "445000.0"
            },
            {
                "date": "2014-10-31",
                "price": "495000.0"
            }
        ]
    ]
}


它会对整个文件的扫描数据收费还是会因为我直接访问 Houses 数组而减少?

【问题讨论】:

标签: amazon-web-services amazon-s3 amazon-s3-select


【解决方案1】:

需要完整扫描 JSON 数据以提供输出。这是因为 JSON 文件中没有索引或块范围的概念。 (索引指向数据的存储位置,块范围跟踪存储块中数据的最小值/最大值。)

JSON 适用于数据交换,但不是为高效存储而设计的

不过,您可以压缩文件以降低存储成本。 可能这也会降低扫描成本(就像 Amazon Athena 的情况一样),但我找不到任何信息来确认 S3 Select 的这一点。

【讨论】:

    猜你喜欢
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2019-03-30
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多