You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CROSS JOIN SEQUENCE生成大规模重复数据表

使用SEQUENCE和EXPLODE实现Databricks SQL中表的批量重复

你原来用VALUES手动枚举生成行来交叉连接的方法,在需要重复几十、上百次时确实麻烦。用SEQUENCE生成整数序列,再配合EXPLODE拆分行,就能轻松实现任意次数的表重复:

实现重复100次的代码

CREATE TABLE my_new_big_table AS
SELECT t.*
FROM my_table t
CROSS JOIN EXPLODE(SEQUENCE(1, 100)) AS v(i);

调整重复次数

如果要重复1000次,只需要修改SEQUENCE函数的第二个参数:

CREATE TABLE my_new_big_table AS
SELECT t.*
FROM my_table t
CROSS JOIN EXPLODE(SEQUENCE(1, 1000)) AS v(i);

原理说明

  • SEQUENCE(1, N)会生成一个包含从1到N所有整数的数组。
  • EXPLODE()函数会把这个数组的每个元素拆分成单独的行,相当于生成了N行数据。
  • 原表和这N行数据做CROSS JOIN,就会让原表的每一行都重复N次,最终整个表的行数变为原表的N倍。

内容的提问来源于stack exchange,提问作者pymat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:18:20