Google bigquery 如何将BigQuery表的每一行重复多次?

Google bigquery 如何将BigQuery表的每一行重复多次?,google-bigquery,Google Bigquery,我想将BigQuery表中的每一行重复10次(这样我就可以看到如果我的表变大10倍,查询将如何执行)。如何执行此操作?使用数组和交叉联接: CREATE OR REPLACE TABLE ds.larger_table AS WITH orig AS ( SELECT * FROM ds.small_table ) SELECT orig.* FROM orig, UNNEST(GENERATE_ARRAY(1, 10)) AS repeat_number 如果原始表已分区

我想将BigQuery表中的每一行重复10次(这样我就可以看到如果我的表变大10倍,查询将如何执行)。如何执行此操作?

使用数组和交叉联接:

CREATE OR REPLACE TABLE ds.larger_table AS

WITH orig AS (
  SELECT * FROM ds.small_table
)
SELECT orig.*
FROM 
   orig,
   UNNEST(GENERATE_ARRAY(1, 10)) AS repeat_number

如果原始表已分区和/或群集,请确保也对较大的表进行分区。

答案比Lak的短,因为:

SELECT orig.* 
FROM orig, UNNEST(GENERATE_ARRAY(1, 10))
这是:

  • 不要使用
    *
    而使用
    orig.*
    来避免执行
    EXCEPT()
  • 然后,
    UNNEST
    就不需要命名
    repeat\u编号

好的观点。编辑!我保留了复述号码是因为。。。可读性