在SQL Server 2016中,有一个名为wide-world-importers的数据库,我们可以通过调用SQL Server的内置存储过程来模拟数据以生成数百万个数据。
有没有办法在谷歌大查询中做同样的事情?或者有没有办法在google-big查询中模拟数据作为我的要求?甚至还有一个地方可以获取具有数百万条记录的样本数据集,如人力资源,财务,销售等,以便进行大查询;大查询中的公共数据集不满足我的要求?
答案 0 :(得分:3)
as is
下方运行
CREATE TEMPORARY FUNCTION gender(num STRING)
RETURNS STRING
LANGUAGE js AS """
var n = parseInt(num);
if (Math.floor(Math.sin(n*n)) == 0) return "f"
return "m";
""";
CREATE TEMPORARY FUNCTION department(num STRING)
RETURNS STRING
LANGUAGE js AS """
var n = parseInt(num);
return Math.floor(Math.sin(n) * 3 + 3)
""";
WITH sequence AS (
SELECT FORMAT("%07d", ROW_NUMBER() OVER()) AS num
FROM UNNEST((SELECT SPLIT(FORMAT("%1000000s", ""),"") AS h FROM (SELECT NULL))) AS pos
)
SELECT
num AS id,
CONCAT("FN ", num) AS first_name,
CONCAT("LN ", num) AS last_name,
gender(num) AS gender,
CONCAT("Department ", department(num)) AS department
FROM sequence
ORDER BY num
耐心等待,只需几分钟即可运行 - 您可以将%1000000s
中的1000000更改为较低的数字(它会在结果中设置行数),以便在播放时加快速度
这只是如何免费生成自己的数据的简单示例 您可以将此示例扩展到您具有的任何特定要求 这里有无尽的机会 - 比如控制不同属性的分配,嵌套数据 - 记录/重复等等。
如果对语法或功能有任何疑问,您可以看到Standard SQL Reference 另请注意:我最近在这里使用了Scalar User-Defined Functions
享受并希望这有帮助!