【问题标题】:Arrays not supported in Bigquery Python APIBigquery Python API 不支持数组
【发布时间】:2019-11-12 02:22:00
【问题描述】:

对 python Bigquery API 的支持表明数组是可能的,但是,当从 pandas 数据帧传递到 bigquery 时,会出现 pyarrow 结构问题。

似乎唯一的方法是删除列,然后将 JSON Normalize 用于单独的表。

'''from google.cloud import bigquery
 project = 'lake'
 client = bigquery.Client(credentials=credentials, project=project)
 dataset_ref = client.dataset('XXX')
 table_ref = dataset_ref.table('RAW_XXX')
 job_config = bigquery.LoadJobConfig()
 job_config.autodetect = True
 job_config.write_disposition = 'WRITE_TRUNCATE'

 client.load_table_from_dataframe(appended_data, table_ref,job_config=job_config).result()'''

这是收到的错误。 NotImplementedError: 结构

【问题讨论】:

  • 这是由于 parquet 序列化工作方式的一些限制。在github.com/googleapis/google-cloud-python/issues/8544 跟踪此功能请求
  • 来自 Pyarrow 的 @TimSwast Wes Mckinney 已请求一些支持以使此功能正常工作。我可以连接你们两个吗?
  • 很高兴与此建立联系。我的电子邮件是我在 google dot com 上的姓氏。

标签: python-3.x google-bigquery pyarrow python-bigquery


【解决方案1】:

由于 parquet 序列化的工作原理,目前不支持此功能。

在客户端库的 GitHub 上创建了一个上传包含数组的 pandas DataFrame 的功能请求:

https://github.com/googleapis/google-cloud-python/issues/8544

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 2017-05-20
    • 2020-11-24
    • 2012-05-25
    相关资源
    最近更新 更多