Azure 数据工厂 - Google BigQuery 复制数据事件不返回嵌套列名称

标签 azure google-bigquery azure-data-factory azure-databricks

我在 Azure 数据工厂中使用 Google BigQuery 源进行复制事件。 我需要导入整个表(其中包含嵌套字段 - BigQuery 中的记录)。

嵌套字段按如下方式导入(仅包含数据值的字符串):

"{\"v\":{\"f\":[{\"v\":\"1\"},{\"v\":\"1\"}, {\"v\":\"1\"},{\"v\":null},{\"v\":\"1\"},{\"v\":null},{\"v\":null},{\"v\":\"1\"},{\"v\":null},{\"v\":null},{\"v\":null },{\"v\":null},{\"v\":\"0\"}]}}"

预期输出类似于:

{"nestedColName": [{"subNestedColName": 1}, {"subNestedColName": 1}, {"subNestedColName": 1}, {"subNestedColName": null}, ...] }

我认为这是数据工厂方面的连接器问题,但不确定如何继续。 考虑过使用Databricks直接从GBQ导入数据,然后将DataFrame保存到sink。 还考虑过查询列的子集并在需要时使用 UNNEST,但不想这样做,因为 Parquet 可以处理 Array 和 Map 类型。

以前有人遇到过这种情况/你做了什么?

最佳答案

使用的解决方案:

适用于 Google BigQuery 的 Databricks (Spark) 连接器:

https://docs.databricks.com/data/data-sources/google/bigquery.html

这会保留架构和嵌套字段名称。

关于Azure 数据工厂 - Google BigQuery 复制数据事件不返回嵌套列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69195947/

相关文章:

c# - 自定义事件在运行数小时后在 Azure 数据工厂中失败

azure - 如果 Azure 数据工厂同时触发两次会发生什么?

Azure 数据工厂 SQL 触发器事件

visual-studio - Visual Studio 2013 和部署 Typescript Html 模板

asp.net - 云服务上托管的 WebRole 的 Azure D 系列 VM 配置

azure - 如何将LoRaWAN网关连接到Azure IoT(Edge)Hub?

google-bigquery - 移动 N 天活跃用户 (BigQuery)

google-apps-script - 使用 Google 电子表格访问 BigQuery

google-bigquery - Google Data Studio - 最大记录限制?

python - 将 Excel 文件流保存到 azure blob 存储