Bigquery Python API-按列编写数据帧顺序



我正在尝试使用Python API将pandas.Dataframe写入Bigquery,按列对记录进行排序:

from google.cloud import bigquery
client = bigquery.Client(project=project_id)
df = pd.DataFrame(...)
df.sort_values('date', inplace=True)
job_config = bigquery.LoadJobConfig(
schema=[
bigquery.SchemaField("date", "DATE"),
bigquery.SchemaField("col1", "INTEGER"),
bigquery.SchemaField("col2", "INTEGER"),
bigquery.SchemaField("col3", "STRING")
],
write_disposition="WRITE_TRUNCATE"
)
job_update = client.load_table_from_dataframe(
df, output_table, job_config=job_config
)

该过程正确地创建了具有正确值的表,但这些行不是按date排序的。是否有一个参数/方法来定义job_config中的顺序?

如问题注释中所述,没有参数/方法可以定义job_config中任何特定列的顺序。

与大多数关系数据库类似,BigQuery中的数据永远不应该被认为是排序的。如果需要对其进行排序,则必须在用于通过ORDERBY子句检索数据的查询中指定。

最新更新