S3-Select 定价 JSON

S3-Select Pricing on JSON

我对 S3 select 关于返回数据和扫描数据的定价感到困惑。如果我想访问 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 数组而减少收费?

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

JSON 适用于数据交换,但并非为高效存储而设计

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