gpt4 book ai didi

google-bigquery - BigQuery 压缩响应

转载 作者:行者123 更新时间:2023-12-01 01:04:09 25 4
gpt4 key购买 nike

BigQuery 是否可以返回压缩/gzipped 响应?
我在运行查询时注意到:

select * from [dataSet.tableId]

从具有大量列( schema )但大小仅为 1mb 的表中,响应为 13mb。 BigQuery 对其中一条记录进行 FLATTEN 处理是可以理解的,因此由于 JSON 结构,响应更大。但是,BigQuery 中的结果表大小为 2.04mb。我没有使用任何 BigQuery 客户端库,而是直接发出 HTTP 请求。有没有办法用实际的 tableData 获得更小的响应?

谢谢

最佳答案

您可以使用 tabledata 集合对表中的数据进行分页。 (请注意,如果您使用的是 jobs.getQueryResults(),同样的技术也适用。

另外,请注意,使用“select *”查询确实不是一个很好的理由,因为 tabledata.list() 操作可以让您从表中读取数据,而“select *”查询需要花钱,而 tabledata.list () 才不是。

例如:

PROJECT=my_project
DATASET=my_dataset
TABLE=my_table
BASE_URL=https://www.googleapis.com/bigquery/v2
TABLES_URL=${BASE_URL}/projects/${PROJECT}/datasets/${DATASET}/tables
TABLEDATA_URL=${TABLES_URL}/${TABLE}/data
curl -H "Authorization: Bearer ${AUTH_TOKEN}" \
-H "Content-Type: application/json" \
-X GET \
"${TABLEDATA_URL}?maxResults=10"

请注意,这将返回一个名为“pageToken”的字段。您可以使用它来获取下一页结果:
PAGE_TOKEN=<page token from response>
curl -H "Authorization: Bearer ${AUTH_TOKEN}" \
-H "Content-Type: application/json" \
-X GET \
"${TABLEDATA_URL}?maxResults=10&pageToken=${PAGE_TOKEN}"

关于google-bigquery - BigQuery 压缩响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20288768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com