某些列的 Google BigQuery bq 负载?
Posted
技术标签:
【中文标题】某些列的 Google BigQuery bq 负载?【英文标题】:Google BigQuery bq load for certain columns? 【发布时间】:2020-07-06 00:19:57 【问题描述】:我有一个.orc
文件的数据集。我使用 CLI 使用 gcloud
utils 中的 bq load
命令将我的数据加载到 BQ 中。我的数据有 4 列。第三列与第四列重复,但我想保留第四列。有没有办法只摄取具有bq load
的orc
文件的某些列?
【问题讨论】:
您是否尝试在bq load
命令中仅使用您的 3 列指定架构并添加参数 --allow_jagged_rows
?但我认为这行不通。在documentation 中是不允许的。你的文件很大吗?
【参考方案1】:
要仅提取某些列,您可以在命令末尾指定列:
bq load --source_format=ORC DATASET.TABLE gs://YOU-FILES_LOCATION COLUMN1:TYPE, COLUMN2:TYPE, ...
让我们假设两种情况:
-
在第一种情况下,您在
BigQuery
中没有表,并且您只想加载ORC
文件中的某些字段。如果您运行上面指定某些字段的命令,将创建一个仅包含该字段的表。
在第二种情况下,您已经在BigQuery
中拥有一个带有NULLABLE
字段的表。在这种情况下,如果您运行上面指定字段的命令,您将只将数据的那些字段加载到表中,而其他字段将为该行的 NULL
。
如果它对您的问题有帮助,请告诉我。
【讨论】:
以上是关于某些列的 Google BigQuery bq 负载?的主要内容,如果未能解决你的问题,请参考以下文章
从 AWS SageMaker 访问 Google BigQuery
Google Cloud Datalab 中的 BigQuery - 获取查询文本?