如何在 Bigquery 中正确地展平表格?
How to flatten tables correcty in Big Query?
我有以下 tables:
在 table 2(黄色字段)中,第一个字段是以下内容的一部分:
name1 RECORD NULLABLE
name1. name2 RECORD REPEATED
name1.name2. date_inserted TIMESTAMP NULLABLE
如您所见,第 25 行的最后(子行?)是灰色的,因为它是重复记录 name1.name2
的一部分
我正在尝试加入 table 2,在另一个字段上加入 table 1(橙色外观字段)。我有 0 个记录或重复记录的经验,但使用 FLATTEN() 我设法加入了它们。
问题是,我注意到加入 return NULL 之后的第二个日期有些日期,尽管它之前没有任何 NULLS。因此,由于我无法弄清楚灰色单元格是什么,我想我做错了什么。
所有这些总结起来就是:我怎样才能完全展平我想使用的所有 table,这样根本就不会有任何记录,这样我就可以用简单的 SQL语句?也请提供示例。寻找通用的东西。
How can I totally flatten all tables that I want to use so that there won't be any records at all and so I can go through the data with simple SQL statements?
这实际上取决于您使用的模式。您可以对它们进行预处理,展平数组并重命名结构字段,然后将其用作基础 table 以处理简单的 SQL 语句
对于您的场景,您可以像这样展开 table 2, name2 列
SELECT
name2.date_inserted -- Add additional fields you want on the result
FROM table2, table2.name1.name2
您可以执行 CROSS JOIN 和 LEFT JOIN 以进一步调整您的结果。
Please provide an example as well. Looking for something generic.
我不确定通用方法,因为每个模式可能有不同的要求。关键概念是知道如何 flatten arrays and how to query struct with arrays and arrays of structs
您可以在该文档中找到大量示例
我有以下 tables:
在 table 2(黄色字段)中,第一个字段是以下内容的一部分:
name1 RECORD NULLABLE
name1. name2 RECORD REPEATED
name1.name2. date_inserted TIMESTAMP NULLABLE
如您所见,第 25 行的最后(子行?)是灰色的,因为它是重复记录 name1.name2
的一部分我正在尝试加入 table 2,在另一个字段上加入 table 1(橙色外观字段)。我有 0 个记录或重复记录的经验,但使用 FLATTEN() 我设法加入了它们。
问题是,我注意到加入 return NULL 之后的第二个日期有些日期,尽管它之前没有任何 NULLS。因此,由于我无法弄清楚灰色单元格是什么,我想我做错了什么。
所有这些总结起来就是:我怎样才能完全展平我想使用的所有 table,这样根本就不会有任何记录,这样我就可以用简单的 SQL语句?也请提供示例。寻找通用的东西。
How can I totally flatten all tables that I want to use so that there won't be any records at all and so I can go through the data with simple SQL statements?
这实际上取决于您使用的模式。您可以对它们进行预处理,展平数组并重命名结构字段,然后将其用作基础 table 以处理简单的 SQL 语句
对于您的场景,您可以像这样展开 table 2, name2 列
SELECT
name2.date_inserted -- Add additional fields you want on the result
FROM table2, table2.name1.name2
您可以执行 CROSS JOIN 和 LEFT JOIN 以进一步调整您的结果。
Please provide an example as well. Looking for something generic.
我不确定通用方法,因为每个模式可能有不同的要求。关键概念是知道如何 flatten arrays and how to query struct with arrays and arrays of structs
您可以在该文档中找到大量示例