我正在尝试为U-SQL编写一个自定义输出器,它根据一列中的数据将行写入单个文件 . 例如,如果列的日期为“2016-01-01”,则会将该行写入具有该名称的文件,并将下一行写入具有相同列中值的文件 .
我的目标是通过在输出器中使用Data Lake Store SDK来实现这一点,该SDK创建一个客户端并使用SDK函数写入单个文件 .
这是一个可行且可行的解决方案吗?
我已经看到要为输出器重写的函数是
public override void Output (IRow row, IUnstructuredWriter output)
其中IUnstructuredWriter被转换为StreamWriter(我看到了一个这样的例子),所以我假设这个IUnstructuredWriter由U-SQL脚本传递给这个函数 . 所以这并没有让我对这里传递的内容有任何控制权,它也会对所有行保持不变并且无法改变 .
1 回答
目前这是不可能的,但我们正在努力回应此频繁的客户请求 . 目前,请在此处将您的投票添加到请求中:https://feedback.azure.com/forums/327234-data-lake/suggestions/10550388-support-dynamic-output-file-names-in-adla
UPDATE (Spring 2018):此功能现在处于私人预览状态 . 如果你想尝试一下,请通过电子邮件(usc at microsoft dot com)与我们联系 .