如果我不知道表中包含多少個不同的鍵值,是否可以根據列值自動將表分成幾個文件? 是否可以將鍵值放入文件名?Azure Data Lake中的U-SQL輸出
回答
偉大的問題!我會很高興看到瑞斯先生迴應了什麼。
道歉,但這只是一半的答案。
我的第一個想法是使用您的鍵值對ADL表進行分區。但是,如果潛在的WHERE子句不是確定性的,我不知道如何處理單獨的輸出。也許CROSS JOIN在每一個結果和....通過!
用一些動態代碼有一個WHILE循環會很好!
看看MS論壇上討論動態輸入數據集的帖子。就像一個供參考。
這是我們top ask(和以前已經asked on stackoverflow太:)。我們目前正在研究它,並希望在夏季之前提供。
直到那時你必須編寫一個腳本生成器。我傾向於用U-SQL來生成腳本,但你可以使用PowerShell或T4等
這裏做的是一個例子:
讓我們假設你想下表中寫入文件列name
/行集@x
:
name | value1 | value2
-----+--------+-------
A | 10 | 20
A | 11 | 21
B | 10 | 30
B | 100 | 200
你會寫一個腳本來生成類似下面的腳本:
@x = SELECT * FROM (VALUES("A", 10, 20), ("A", 11, 21), ("B", 10, 30), ("B", 100, 200)) AS T(name, value1, value2);
// Generate the script to do partitioned output based on name column:
@stmts =
SELECT "OUTPUT (SELECT value1, value2 FROM @x WHERE name == \""+name+"\") TO \"/output/"+name+".csv\" USING Outputters.Csv();" AS output
FROM (SELECT DISTINCT name FROM @x) AS x;
OUTPUT @stmts TO "/output/genscript.usql"
USING Outputters.Text(delimiter:' ', quoting:false);
然後你的TA可以預先計算@x
並提交它以獲取分割成兩個文件的數據。
請提供「/output/genscript.usql」文件的腳本。 – Arron
嗨阿龍,我不確定你希望我提供什麼。上面的腳本生成genscript.usql內容。 –
@x數據集如何傳遞給外部genscript.usql文件?執行它的最佳方法是什麼?數據工廠? – coltonfranco
- 1. Usql與Azure Data Lake Store .net SDK
- 2. Azure Data Lake:對Azure Data Lake Store的請求未經授權
- 3. Azure Data Lake Store併發性
- 4. 微軟Azure Data Lake存儲
- 5. Azure Data Lake Analytics中的內存限制
- 6. Azure Data Lake Store - 文件權限更新
- 7. Azure Data Lake存儲帶寬限制
- 8. Azure Data Lake Count所有項目
- 9. 在Data Lake中,我們可以將數據輸出到Azure存儲嗎?
- 10. 具有WebJob/Azure功能的Azure Data Lake Store和Azure SQL
- 11. Hadoop Vs Data Lake
- 12. Azure Data Lake Analytics在Azure門戶中添加Powershell API
- 13. 在Azure Data Lake Analytics中查詢Windows Azure存儲表U-SQL
- 14. Azure Data Lake Store - 從文件讀取時出錯
- 15. Azure函數Azure Data Lake的自定義DLL
- 16. 將Azure應用程序的Insight日誌文件導出到Azure Data Lake存儲
- 17. 將Azure CDN與Azure Data Lake存儲集成
- 18. 無法從Azure Data Lake Analytics訪問Azure密鑰保險庫
- 19. 計算Azure Data Lake Analytics中的時間差異U-SQL作業
- 20. 壓縮編碼解碼器在Azure Data Lake中的影響
- 21. Data Lake中的數據保留策略
- 22. 如何在Azure分析服務中連接Data Lake商店
- 23. 將Azure事件中心與Data Lake Store連接
- 24. 如何將Azure服務總線隊列中的消息觸發到Azure Data Lake?
- 25. 授權超時:Azure數據工廠中的Azure Data Lake Store配置
- 26. 對Data Lake Store鏈接服務的Azure批處理支持
- 27. 我可以有任何關於Azure Data Lake內部的書嗎?
- 28. 使用Azure Data Lake Analytics與傳統ETL方法的原因
- 29. 是否有適用於Azure Data Lake Store的本地模擬器
- 30. AWS Data Lake Dynamo與ElasticSearch
正是!使用遊標或while/for循環這是一件容易的事情,但沒有迭代它是不可用的許多情況..... – peterko
我不會去說無法使用。 USQL是一種聲明性語言,允許您以靈活/可擴展的方式大規模平行工作負載。迭代數據很慢,如果你需要這樣做,你可能會使用錯誤的工具....這不是Oracle遊標! :-) –
你是對的,我會說我的情況下無法使用:) – peterko