【问题标题】:Google Cloud - BiqQuery, Invalid schema update. Field has changed type from INTEGER to STRINGGoogle Cloud - BigQuery,无效的架构更新。字段类型已从 INTEGER 更改为 STRING
【发布时间】:2021-02-20 20:50:13
【问题描述】:

在GCP中,使用python,我的query选择了一些数据插入到表BQ_table中。

query 产生 2 个字段/列:字符串和整数。

BQ_table 关注schema

    schema = [  bigquery.SchemaField("name", "STRING", mode="NULLABLE"),
                bigquery.SchemaField("age", "INTEGER", mode="NULLABLE") 
          ]
    config = bigquery.QueryJobConfig(destination= BQ_table,  autodetect=True, schema=schema)
    query_job = self._client.query(query, job_config=config)
    que

我的问题是如何列出/显示当前项目中所有可能的数据集表格? 我找不到合适的gcloud | gsutil 命令。

可以插入数据,age 的类型从 STRINGINTEGER,但我想知道在表格中插入数字数据时缺少什么。

错误是:

Google Cloud - BiqQuery,架构更新无效。字段已更改 从 INTEGER 输入到 STRING

【问题讨论】:

    标签: python google-bigquery dataset config gcloud


    【解决方案1】:

    可以从INFORMATION_SCHEMA.SCHEMATA查询Google BigQuery中所有数据集的列表:

    SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
    

    可以从INFORMATION_SCHEMA.TABLES查询Google BigQuery中的表列表:

    -- Returns metadata for tables in a single dataset.
    SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;
    
    -- Returns metadata for tables in a region.
    SELECT * FROM region-us.INFORMATION_SCHEMA.TABLES;
    

    要将 STRING 插入 INTEGER,请先尝试在查询中使用 CAST or SAFE_CAST 显式转换它:

    SELECT CAST("123" AS INT64);
    SELECT SAFE_CAST("apple" AS INT64);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多