C# U-SQL随机行样本

C# U-SQL随机行样本,c#,sql,azure,azure-storage,u-sql,C#,Sql,Azure,Azure Storage,U Sql,我希望你们都能帮助我 我想做的事 我试图从大型Azure数据库中随机抽取一个样本,以便在部署到Azure云之前在本地运行这些文件。步骤是首先创建一个伪随机数,然后只取前X行或前X%的行 我尝试过的 我读过几篇文章,包括、、和,但仍然没有弄清楚语法 代码: //ATTEMPT 1 SELECT * FROM @searchlog FETCH FIRST 3 ROWS ONLY; //ATTEMPT 2 @outsearchlog = SELECT * FROM @searchlog

我希望你们都能帮助我

我想做的事

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

我尝试过的

我读过几篇文章,包括、、和,但仍然没有弄清楚语法

代码:

//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);
样本记录在案。如果使用此方法,则不需要额外的行号。如果确实需要行号,请使用
行号()

我会质疑2021年U-SQL的使用,特别是在新项目中。ADLS Gen 1已被弃用(2024年2月退役),如您所知,U-SQL与ADLS Gen 2不兼容。因此,您应该努力尽快将您的项目转换为使用Azure Databricks或Azure Synapse Analytics或其他合适的平台

如果您考虑切换到Azure SQL DB或Azure突触分析,则支持<代码> TabLeSimult类似的命令:

SELECT *
FROM yourTable
TABLESAMPLE( 10 PERCENT );

非常感谢你!我对大数据非常陌生,所以我不知道USQL正在贬值。很高兴我这么问!