Google Cloud Python Library for BigQuery - fetch_data 不按顺序返回



我正在使用 Google Cloud 客户端库将记录从 BigQuery 表导入到我的 Python 程序中。表很大,记录按特定顺序排列,因此出于算法原因,我需要按顺序流式传输它们。下面的代码返回一个迭代器,该迭代器不按顺序生成表记录。

from google.cloud import bigquery
from google.cloud.bigquery import SchemaField
gcclient = bigquery.Client()
dataset = gcclient.dataset("dataset_name")
gcschema = [
SchemaField('field1', 'STRING', mode = 'required'),
SchemaField('field2', 'STRING', mode = 'required'),
SchemaField('field3', 'STRING', mode = 'required'),
SchemaField('field4', 'STRING', mode = 'required'),
SchemaField('field5', 'STRING', mode = 'required')
]
gctable = dataset.table("table_name", gcschema)
it = gctable.fetch_data() # Iterator is not in the order of table records

有没有办法配置此请求,以便按 BigQuery 表的顺序返回记录,或者有没有另一种方法可以逐个流式传输有序记录?

正如 Elliott 在评论中所说 - SQL 表中的行没有特定的顺序,除了查询数据时可以要求的顺序。

如果算法需要按任何特定顺序排序的数据,则表需要有一列用于按所需顺序获取数据。

最新更新