gpt4 book ai didi

azure-data-lake - 蔚蓝数据湖 u-sql 数据透视表

转载 作者:行者123 更新时间:2023-12-04 07:00:36 25 4
gpt4 key购买 nike

我喜欢 Azure Data Lake,但缺乏文档可能会减慢采用速度。我希望有人比我有更多的 U-SQL 经验。

尝试从 Microsoft.Analytics.Interfaces 下可用的内容和通过 U-SQL 解释器派生,但运气不佳。似乎不支持动态 sql 在运行时定义行集的模式,并且 IUpdatableRow 的模式是只读的,因此处理器方法不可行。 U-SQL 中没有开箱即用的 PIVOT 功能。

我还想也许我可以一起处理行集并编写一个自定义输出器来进行数据透视但无法弄清楚。

可能有一种非常简单的方法可以做到这一点,因为它是标准的枢轴操作。对于不确定数量的 ColA 和 ColB 值,您将如何以高效的方式 reshape 从 I 到 II 的行集?

|ColA |ColB |ColC|
|1 |A |30 |
|1 |B |70 |
|1 |ZA |12 |
|2 |C |22 |
|2 |A |13 |

|ID   |A    |B    |C   |...... |ZA   |.....
|1 |30 |70 |0 | |12 |
|2 |13 |0 |22 |...... |0 |.....

最佳答案

注意 PIVOT/UNPIVOT 语法已添加到 U-SQL March 2017 .

使用上面的示例数据:

@t = SELECT *
FROM(
VALUES
( 1, "A", 30 ),
( 1, "B", 70 ),
( 1, "ZA", 12 ),
( 2, "C", 22 ),
( 2, "A", 13 ),
( 2, "ABC", 42)
) AS T(ColA, ColB, ColC);


@p =
SELECT Column_0 AS id, Column_1 AS a
FROM @t
PIVOT (MAX(ColC) FOR ColB IN ("A" AS [A], "B" AS [B], "C" AS [C], "ZA" AS [ZA], "ABC" AS [ABC])
) AS pvt;


OUTPUT @p
TO "/output/pivot3.csv"
USING Outputters.Csv();

关于azure-data-lake - 蔚蓝数据湖 u-sql 数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33978182/

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