【发布时间】:2020-03-23 07:12:05
【问题描述】:
我正在尝试使用 BQ 替换现有表中的架构。 BQ 中的某些字段具有 3-5 级模式依赖关系。 对于前。 comsalesorders.comSalesOrdersInfo.storetransactionid 这个字段嵌套在两个字段下。 由于我使用它来替换现有表,因此我无法更改查询中的字段名称。 查询看起来与此类似
SELECT * REPLACE(comsalesorders.comSalesOrdersInfo.storetransactionid AS STRING) FROM CentralizedOrders_streaming.orderStatusUpdated, UNNEST(comsalesorders) AS comsalesorders, UNNEST(comsalesorders.comSalesOrdersInfo) AS comsalesorders.comSalesOrdersInfo
BQ 可以取消嵌套第一个模式字段,但会出现第二次嵌套问题。 我需要对此查询进行哪些更改才能将 UNNEST() 用于此类依赖模式?
【问题讨论】:
-
请提供您的数据和预期结果的简化示例
-
我不能使用这里描述的方法,因为我必须继续使用一致的模式和太多的依赖深度字段。 stackoverflow.com/questions/58920800/…
-
预期结果与将 transactionid 架构更改为 STRING 的表完全相同。我通常使用 CLI 方法来操作模式,但在这种情况下我必须使用 SQL
-
“您的数据的简化示例”是我评论的主要部分:o)
-
我会分享我能做的。数据是这样嵌套的 json 值 comsalesorders":[ {"comSalesOrdersInfo":{"storeTransactionID":"X1056-943462","ItemsWarrenty":0,"currencyCountry":"USD"}]
标签: sql google-bigquery