我在Azure Data Lake Store中有數據,我正在使用U-SQL處理Azure Data Analytic Job中存在的數據。我有包含空間數據的幾個CSV文件,與此類似:U-SQL根據文件中的Distinct值將CSV文件拆分爲多個文件
File_20170301.csv
longtitude| lattitude | date | hour | value1
----------+-----------+--------------+------+-------
45.121 | 21.123 | 2017-03-01 | 01 | 20
45.121 | 21.123 | 2017-03-01 | 02 | 10
45.121 | 21.123 | 2017-03-01 | 03 | 50
48.121 | 35.123 | 2017-03-01 | 01 | 60
48.121 | 35.123 | 2017-03-01 | 02 | 15
48.121 | 35.123 | 2017-03-01 | 03 | 80
File_20170302.csv
longtitude| lattitude | date | hour | value1
----------+-----------+--------------+------+-------
45.121 | 21.123 | 2017-03-02 | 01 | 20
45.121 | 21.123 | 2017-03-02 | 02 | 10
45.121 | 21.123 | 2017-03-02 | 03 | 50
48.121 | 35.123 | 2017-03-02 | 01 | 60
48.121 | 35.123 | 2017-03-02 | 02 | 15
48.121 | 35.123 | 2017-03-02 | 03 | 80
每個文件包含的數據不同的日期和所有經度 - 組合。
我想合併我所有的文件並拆分數據,這樣我就可以爲每個經度 - 折點組合結束一個文件。
所以,通過我的文件夾中的所有文件循環和附加的所有數據全部天后,我將結束與以下:
File_45_21.csv
longtitude| lattitude | date | hour | value1
----------+-----------+--------------+------+-------
45.121 | 21.123 | 2017-03-01 | 01 | 20
45.121 | 21.123 | 2017-03-01 | 02 | 10
45.121 | 21.123 | 2017-03-01 | 03 | 50
45.121 | 21.123 | 2017-03-02 | 01 | 20
45.121 | 21.123 | 2017-03-02 | 02 | 10
45.121 | 21.123 | 2017-03-02 | 03 | 50
File_48_35.csv
longtitude| lattitude | date | hour | value1
----------+-----------+--------------+------+-------
48.121 | 35.123 | 2017-03-01 | 01 | 60
48.121 | 35.123 | 2017-03-01 | 02 | 15
48.121 | 35.123 | 2017-03-01 | 03 | 80
48.121 | 35.123 | 2017-03-02 | 01 | 60
48.121 | 35.123 | 2017-03-02 | 02 | 15
48.121 | 35.123 | 2017-03-02 | 03 | 80
理論上下面應該發生:
- 查找數據中的經度和緯度組合的不同值
- 取上述不同值的數組,併爲每個組合創建一個文件,並根據兩個參數從源文件中提取數據(長度和012)
我正在努力的是如何開始循環和基於源中的兩個參數提取數據,以及如何通過組合的不同值對數據源進行「分區」的參數。
嗨@MichaelRys,你看到上面的動態方法的一些問題?它可以改進還是一個壞主意?任何意見感激地收到:) – wBob
雖然我還沒有運行它,它看起來沒問題。出於性能原因,我可能已合併了文件名創建和動態U-SQL創建。你基本上使用上面提到的使用U-SQL方法編寫的U-SQL方法。 –
我只是想知道,如果這是一個好主意,採取數據庫目錄中的數據,分區並寫入導出到CSV文件。這會是一個可行的解決方案嗎? USQL仍可用於導入表中的數據並將數據導出到csv。 – FeodorG