在 Bigquery 中从每月 table 到每天 table
From monthly table to daily table in Bigquery
我试图将每月 table 分解为每天 table 以提高性能。假设我有以下 n 行模式:
field1 STRING NULLABLE
field2 STRING NULLABLE
field3 RECORD NULLABLE
field4 STRING REPEATED
field5 STRING REPEATED
field5 STRING REPEATED
field6 STRING NULLABLE
.
.
.
.
fieldn STRING REPEATED
我尝试用网络创建tables UI,每天查询数据,将结果保存到另一个table(每日table) [1]。但是我有很多 REPEATED
列,所以我不得不 FLATTEN
table.
SELECT
...
FROM (
FLATTEN((
SELECT
...
FROM (
FLATTEN((
SELECT
...
FROM
table),
field3)
)
),
f4)
)
)
我不想为每个重复的列创建多条记录,我想保留每月 table 的架构和信息。执行此操作的最佳方法是什么?
在 Web 中 UI - 要保留架构 - 您应该执行以下操作
- 点击"Show Options"
旧版 SQL
- 设置table
- 选中 "Allow Large Results" 复选框
- 取消选中 "Flatten Result" 复选框
标准 SQL
- 设置table
- 取消选中 "Use Legacy SQL" 复选框
那么,你应该使用下面的:
SELECT * FROM YourTable WHERE <condition to filter given day rows>
我试图将每月 table 分解为每天 table 以提高性能。假设我有以下 n 行模式:
field1 STRING NULLABLE
field2 STRING NULLABLE
field3 RECORD NULLABLE
field4 STRING REPEATED
field5 STRING REPEATED
field5 STRING REPEATED
field6 STRING NULLABLE
.
.
.
.
fieldn STRING REPEATED
我尝试用网络创建tables UI,每天查询数据,将结果保存到另一个table(每日table) [1]。但是我有很多 REPEATED
列,所以我不得不 FLATTEN
table.
SELECT
...
FROM (
FLATTEN((
SELECT
...
FROM (
FLATTEN((
SELECT
...
FROM
table),
field3)
)
),
f4)
)
)
我不想为每个重复的列创建多条记录,我想保留每月 table 的架构和信息。执行此操作的最佳方法是什么?
在 Web 中 UI - 要保留架构 - 您应该执行以下操作
- 点击"Show Options"
旧版 SQL
- 设置table
- 选中 "Allow Large Results" 复选框
- 取消选中 "Flatten Result" 复选框
标准 SQL
- 设置table
- 取消选中 "Use Legacy SQL" 复选框
那么,你应该使用下面的:
SELECT * FROM YourTable WHERE <condition to filter given day rows>