BigQuery联合数据源:命令行界面中的CSV选项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BigQuery联合数据源:命令行界面中的CSV选项?相关的知识,希望对你有一定的参考价值。

使用命令行界面创建联合数据源时,是否可以指定加载选项,如字段分隔符,允许锯齿状行等?

bq mk --external_table_definition=column_1:STRING,column_2:STRING@CSV=gs://my-bucket/my_files*.csv my_dataset.my_table

当您在Web UI或API中设置联合表时,您是否可以访问所有csv选项,它们是否被排除在命令行工具之外?

答案

您可以在表定义JSON文件中指定这些选项。你可以在this document找到很多例子。对于你在问题中提出的问题,你的JSON应该类似如下:

{
  "schema": {
    "fields": [
      {
        "name": "column_1",
        "type": "STRING"
      },
      {
        "name": "column_2",
        "type": "STRING"
      }
    ]
  },
 "csvOptions": {
    "allowJaggedRows": true,
    "fieldDelimiter": "[DELIMITER]"
  },
  "sourceFormat": "CSV",
  "sourceUris": [
    "[BUCKET_URI]"
  ]
}

然后只需运行相同的命令并指定JSON file path而不是inline schema

bq mk --external_table_definition=[JSON_FILE_PATH] [YOUR_DATASET.YOUR_TABLE]

以上是关于BigQuery联合数据源:命令行界面中的CSV选项?的主要内容,如果未能解决你的问题,请参考以下文章

Bigquery - 在 CSV(联合表)中处理双引号和管道字段分隔符

BigQuery CSV 导入:允许锯齿行

从 Cloud Storage 加载 BigQuery InternalError(适用于直接文件上传)

CSV 值的 bigquery 架构

BigQuery 从 bq 命令行工具加载数据 - 如何跳过标题行

是否可以针对本地 BigTable 模拟器实例运行 BigQuery 命令行界面 (cli)?