你好,
這是我的第一篇文章在這裏,我是一個初學者總磚和火花。
工作在一個物聯網與azure雲項目,我想建立一個連續的數據流處理。
當前的體係結構已經存在由於數據流分析,重定向數據湖json和csv格式不斷更新。
但數據聚合有限流分析和機器學習的整合是對未來的考慮。
這就是為什麼我一直在研究磚一個星期但我困在幾個點,我找不到答案。
我設法連接磚物聯網中心的數據發送到發送模擬和blob的下麵pyspark腳本是不完整的。問題是,每個事件將創建一個文件,和使用的格式將創建多個拚花的文件。
我的問題是“有可能做同樣的事,流分析目前做磚"嗎?
我知道有很多參數來指定在創建寫請求但沒有人工作,我可能有多個錯誤,因為我做錯了。如果有人能給我一些好的做法的建議或重定向我適當的文檔,那將是非常感激。
謝謝你的回答,但我想寫一個csv / json文件中的數據在數據湖
我不嚐試讀取數據從數據湖,我收到直接從物聯網數據中心
也許我誤解了你的回答
對不起,我誤解了。
你看到這麼多拚花文件的原因是拚花是不可變的,你不能改變它(和拚花三角洲湖使用)。如果一個新的事件/發送記錄,流將處理它,將它添加到表中,這意味著一個新文件。
如果你不斷寫數據到表δ,它會隨著時間的推移積累大量的文件,特別是如果你在小批量添加數據。這可以在表讀取的效率有不利影響,它也會影響您的文件係統的性能。理想情況下,大量的小文件應該改寫成一個小數量的大文件定期。這就是所謂的壓實。
https://docs.delta.io/latest/best-practices.html compact-files
另一個選擇是閱讀活動少,和去更多batch-based方法。
所以“三角洲湖”是最好的方式來存儲流數據嗎?除了存儲在拚花是不可能的文件?
我收到的json數據,目的是不斷將它們存儲在一個json或csv文件,直到達到最大文件大小在繼續下一個之前:
StreamingDataFolder / myfile1.json
StreamingDataFolder / myfile2.json
StreamingDataFolder / myfile3.json
等等……
但是我沒有深化三角洲湖選項,我承認有困難理解該存儲選項。
謝謝你的聯係,我去看看