如何在ADLA中的U-SQL中添加多个文件中的列?

时间:2017-03-21 19:28:40

标签: azure azure-data-lake u-sql

我在Azure Data Lake中有很多csv文件,包含各种类型的数据(例如,压力,温度,真/假)。它们都带有时间戳,我需要根据时间戳将它们收集在一个文件中,以便进行机器学习。这在Java中很容易做到 - 启动文件流,在打开每个文件的文件夹上运行循环,比较时间戳以将相关值写入输出文件,启动新列(转到第一行的末尾)每个文件。 虽然我已经解决了U-SQL中的时间戳问题,但我遇到了一些语法问题,这将帮助我在整个文件夹上运行它。通配符语法{*}将所有文件视为同一文件集,而我需要运行某种循环以单独连接每个文件中的列。 有没有办法做到这一点,也许是使用虚拟列?

1 个答案:

答案 0 :(得分:1)

首先,您必须在功能/声明方面考虑您的问题,而不是基于程序范例(如循环)。

让我试着改写你的问题,看看我是否可以提供帮助。您有许多csv文件,其中包含带时间戳的数据。不同的文件可以包含具有相同时间戳的行,并且您希望将相同时间戳(或时间戳范围)的所有行输出到特定文件?所以你基本上想要重新分配数据?

每个文件的格式是什么?它们都具有相同的架构或不同的架构吗?在后一种情况下,您如何区分它们?基于文件名?

请在评论中告诉我,如果这是一个正确的陈述性重述和我的问题的答案,我将在下一步补充我的答案。