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

Azure Data Factory - Google BigQuery Copy Data activity not returning nested column names

我在 Azure 数据工厂中有一个副本 activity,带有 Google BigQuery 源。 我需要导入整个 table(其中包含嵌套字段 - 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

这会保留模式和嵌套的字段名称。