gpt4 book ai didi

c# - U-SQL 随机行样本

转载 作者:行者123 更新时间:2023-12-02 08:23:17 25 4
gpt4 key购买 nike

希望大家能够帮助我。

我正在尝试做什么

我正在尝试从大型 Azure 数据库中获取随机样本,以便在部署到 Azure 云之前可以在本地运行这些文件。步骤是首先创建一个伪随机数,然后只取前 X 行或前 X% 的行。

我尝试过的

我读过几篇文章,包括 stack overflow SQL , stack overflow SQL 2 , SQL select ,和USQL Order By Fetch ,但仍然没有弄清楚语法。

代码:

//ATTEMPT 1
SELECT * FROM @searchlog
FETCH FIRST 3 ROWS ONLY;
//ATTEMPT 2
@outsearchlog =
SELECT *
FROM @searchlog
ORDER BY NEWID() DESC FETCH 10;
//ATTEMPT 3
@outsearchlog =
SELECT *,
NEWID() AS newid
FROM @searchlog;
//ATTEMPT 4
@outsearchlog =
SELECT *,
newid() AS newid
FROM @searchlog;
//ATTEMPT 5
@outsearchlog =
SELECT *,
newid() AS newidwoot
FROM @searchlog;
//ATTEMPT 6
@outsearchlog =
SELECT *,
Random() AS newidwoot
FROM @searchlog;

最佳答案

U-SQL 有一个 SAMPLE 运算符,因此只需将其添加到语句的底部即可。例如,此代码生成 10% 的均匀样本:

@outsearchlog =
SELECT *
FROM @searchlog
SAMPLE UNIFORM (0.1);

示例已记录 here 。如果使用此方法,则不需要额外的行号。如果您确实需要行号,请使用ROW_NUMBER()

我对 2021 年 U-SQL 的使用表示质疑,特别是对于新项目。 ADLS Gen 1 已弃用(将于 2024 年 2 月停用),并且如您所知,U-SQL 与 ADLS Gen 2 不兼容。因此,您应该尽快将项目转换为使用 Azure Databricks 或 Azure Synapse Analytics 或其他合适的平台有可能。

U-SQL retired

https://learn.microsoft.com/en-us/azure/data-lake-store/data-lake-store-overview

如果您确实考虑切换到 Azure SQL DB 或 Azure Synapse Analytics,那么它支持 TABLESAMPLE 命令以获得类似的效果:

SELECT *
FROM yourTable
TABLESAMPLE( 10 PERCENT );

关于c# - U-SQL 随机行样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66697151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com