R 在U-SQL中创建具有预设数量的相等键的列

R 在U-SQL中创建具有预设数量的相等键的列,r,u-sql,R,U Sql,我想在U-SQL中创建一列数字或键,返回相同数量的相等行,用作Extension.R.Reducer上的分区。 例如,如果我将变量用作: DECLARE @PartitionRows int = 5; 我想得到一些东西,比如列“Partition”的示例: 有什么想法吗?提前谢谢 您可以调整此脚本以执行所需操作。 这将分成3个分区: @aLog = SELECT * FROM ( VALUES ("ABC", new DateTim

我想在U-SQL中创建一列数字或键,返回相同数量的相等行,用作Extension.R.Reducer上的分区。 例如,如果我将变量用作:

DECLARE @PartitionRows int = 5;
我想得到一些东西,比如列“Partition”的示例:


有什么想法吗?提前谢谢

您可以调整此脚本以执行所需操作。 这将分成3个分区:

@aLog = 
    SELECT * FROM         
        ( VALUES
        ("ABC", new DateTime(2017,01,01, 05, 00, 00),    new DateTime(2017,01,01, 06, 00, 00)),
        ("XYZ", new DateTime(2017,01,01, 05, 00, 00),    new DateTime(2017,01,01, 06, 00, 00)),
        ("ABC", new DateTime(2017,01,01, 08, 00, 00),    new DateTime(2017,01,01, 09, 00, 00)),
        ("ABC", new DateTime(2017,01,01, 08, 00, 00),    new DateTime(2017,01,01, 10, 00, 00)),
        ("ABC", new DateTime(2017,01,01, 10, 00, 00),    new DateTime(2017,01,01, 14, 00, 00)),
        ("ABC", new DateTime(2017,01,01, 07, 00, 00),    new DateTime(2017,01,01, 11, 00, 00)),
        ("ABC", new DateTime(2017,01,01, 09, 00, 00),    new DateTime(2017,01,01, 11, 00, 00)),
        ("ABC", new DateTime(2017,01,01, 11, 00, 00),    new DateTime(2017,01,01, 11, 30, 00)),
        ("FOO", new DateTime(2017,01,01, 23, 40, 00),    new DateTime(2017,01,01, 23, 59, 00)),
        ("FOO", new DateTime(2017,01,01, 23, 50, 00),    new DateTime(2017,01,02, 00, 40, 00))
        ) AS T(user, begin, end);

@aLog =
    SELECT (ROW_NUMBER() OVER() -1) / 3 AS Partition,
           *
    FROM @aLog;

OUTPUT 
@aLog
TO "/teste.txt"
USING Outputters.Csv();