我正在尝试为 U-SQL 编写一个自定义输出器,该输出器根据一列中的数据将行写入单个文件。例如,如果列的日期为“2016-01-01”,它将将该行写入具有该名称的文件,并将下一行写入具有同一列中值的文件。
我的目标是通过在输出器中使用 Data Lake Store SDK 来做到这一点,它创建一个客户端并使用 SDK 函数写入单个文件。
这是一个可行且可能的解决方案吗?
我已经看到要为输出器覆盖的功能是
public override void Output (IRow row, IUnstructuredWriter output)
其中 IUnstructuredWriter 被强制转换为 StreamWriter(我看到了一个这样的例子),所以我假设这个 IUnstructuredWriter 是由 U-SQL 脚本传递给这个函数的。所以这不会让我对这里传递的内容进行任何控制,而且它对于所有行都将保持不变并且不能改变。