微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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",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 中的数据永远不应被视为已排序。如果需要对它进行排序,则必须在用于检索数据的查询中使用 ORDER BY 子句指定它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。