【发布时间】: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 数组而减少?
【问题讨论】:
-
您的数据是如何存储的?它是 CSV 文件还是列格式(例如 Parquet、ORC)?是压缩的吗?另见:amazon web services - How S3 select pricing works? What is data returned and scanned in s3 select means - Stack Overflow
-
@JohnRotenstein 它存储在一个实际的 .json 文件中。我知道 CSV 文件需要搜索所有内容,但是我认为您可以将 json 数据直接访问到您输入的索引而忽略其余部分?这是否意味着它在这种情况下只扫描输出大小的大小?
标签: amazon-web-services amazon-s3 amazon-s3-select