如何进行查询以将值转换为大查询中所有分区表的列
How do I make a query to cast the value in a column for all partitioned tables in big query
我很好奇是否有一种方法可以在大查询中查询和写入所有分区的 table。我想将单个列转换为不同的数据类型,并将其应用于大型查询 table 中跨分区的所有值。
即
select cast(nums as STRING) from `project_id.dataset.table`
并将其写回 table 列中的所有值。在 bigquery 中有没有一种直接的方法可以做到这一点?
让我们创建一个 table:
CREATE TABLE `deleting.part`
PARTITION BY day
AS
SELECT DATE('2018-01-01') day, 2 i
UNION ALL SELECT DATE('2018-01-02'), 3
现在,让我们将 i
从 INT64
更改为 FLOAT64
:
CREATE OR REPLACE TABLE `deleting.part`
PARTITION BY day
AS
SELECT * REPLACE(CAST(i AS FLOAT64) AS i)
FROM `deleting.part`
成本:完整 table 扫描。
我很好奇是否有一种方法可以在大查询中查询和写入所有分区的 table。我想将单个列转换为不同的数据类型,并将其应用于大型查询 table 中跨分区的所有值。
即
select cast(nums as STRING) from `project_id.dataset.table`
并将其写回 table 列中的所有值。在 bigquery 中有没有一种直接的方法可以做到这一点?
让我们创建一个 table:
CREATE TABLE `deleting.part`
PARTITION BY day
AS
SELECT DATE('2018-01-01') day, 2 i
UNION ALL SELECT DATE('2018-01-02'), 3
现在,让我们将 i
从 INT64
更改为 FLOAT64
:
CREATE OR REPLACE TABLE `deleting.part`
PARTITION BY day
AS
SELECT * REPLACE(CAST(i AS FLOAT64) AS i)
FROM `deleting.part`
成本:完整 table 扫描。