Google BigQuery Spark 连接器:如何在追加时忽略未知值

Posted

技术标签:

【中文标题】Google BigQuery Spark 连接器:如何在追加时忽略未知值【英文标题】:Google BigQuery Spark Connector: How to ignore unknown values on append 【发布时间】:2017-03-15 12:40:16 【问题描述】:

我们使用 Google BigQuery Spark 连接器将存储在 Parquet 文件中的数据导入 BigQuery。使用自定义工具,我们生成了 BigQuery 所需的架构文件,并在我们的导入代码 (Scala) 中引用该文件。

但是,我们的数据并不真正遵循固定且定义明确的架构,在某些情况下,可能会向单个数据集添加额外的列。这就是为什么在使用命令行工具 bq 试验 BigQuery 时,我们几乎总是使用 --ignore_unknown_values,否则很多导入都会失败。

很遗憾,我们在 BigQuery Spark 连接器 com.google.cloud.bigdataoss:bigquery-connector:0.10.1-hadoop2 中找不到等效的配置选项。存在吗?

【问题讨论】:

【参考方案1】:

不幸的是,目前还没有通过连接器进行检测,即使我们现在添加它,正式版本也需要几周时间才能在任何地方部署。我filed an issue 在 github 存储库中跟踪此功能请求。

同时,如果您想构建自己的连接器版本,您可以在BigQueryRecordWriter(如果您使用旧的“直接输出格式”)或BigQueryHelper(如果您正在使用较新的“间接输出格式”,并添加如下一行:

loadConfig.setIgnoreUnknownValues(true);

【讨论】:

感谢您的澄清。我们将考虑修补连接器。 现在添加了吗?状态仍然是开放的。谢谢

以上是关于Google BigQuery Spark 连接器:如何在追加时忽略未知值的主要内容,如果未能解决你的问题,请参考以下文章

运行时异常 java.lang.NoSuchMethodError: com.google.common.base.Optional.toJavaUtil()L 与 Spark-BigQuery 连接

Spark BigQuery 连接器,设置欧盟位置

在Apache Spark中使用Bigquery Connector时如何设置分区数?

使用 spark 将 parquet 数据从 Google 云存储加载到 BigQuery

Google BigQuery 与 Spark 和 Parquet

如何将 Spark-BigQuery_connector 用于现有的 spark 环境(不使用 google dataproc)