0

我已经看到有 Microsoft .NET SDK For Hadoop。我发现 Map/Reduce 程序现在可以用 .NET for HDInsight 编写。
有没有办法我们也可以为 HDInsight 编写 Hive UDF?

4

2 回答 2

1

您可以使用与 python UDF 相同的流式传输方法将.NET 程序作为 UDF 运行。

例如,如果您有一个 .NET 程序对 STDIN 执行某些操作并将结果写入 STDOUT,您可以使用 Hive UDF 运行它,如下所示:

SELECT TRANSFORM (<columns>)
USING '<PROGRAM.EXE>'
AS (<columns>)
FROM <table>;

请注意,您还可以通过使用逗号分隔的数据在 UDF 中使用多个列,包括 .NET 片段的内外数据。

就性能而言,你可能会发现这真的很慢,所以要小心过度使用,并密切关注它。

此外,不要忘记在运行查询之前将 program.exe 的文件添加到您的配置单元作业中。

add FILE 'wasb://...PROGRAM.EXE';
于 2014-03-28T19:46:08.963 回答
0

请参阅如何将自定义 Hive UDF 添加到 HDInsight

于 2014-03-28T12:06:40.300 回答