我想知道如何在Spark中使用sc.textfile。我的猜測是,驅動程序一次讀取文件的一部分,並將讀取的文本分發給工作人員進行處理。或者是工作人員在沒有司機的參與的情況下直接從文件中讀取文本?當sc.textfile被使用時,它是驅動程序還是工作人員讀取文本文件?
3
A
回答
6
驅動程序查看文件元數據 - 檢查它是否存在,檢查目錄中的文件是否是目錄,並檢查它們的大小。然後它將任務發送給實際閱讀文件內容的工作人員。通信基本上是「你讀這個文件,從這個偏移量開始,這個長度。」
HDFS將大文件分割成塊,並且spark會(通常/經常)根據塊來分割任務,因此跳過該偏移量的過程將非常有效。
其他文件系統往往操作類似,但並不總是如此。如果編解碼器不可拆分,壓縮也可能會混淆此過程。
0
textfile
創建RDD,如ref提到:可以使用SparkContext的文本文件的方法來創建
文本文件RDDS。
也有這樣一個字條:
如果使用本地文件系統的路徑,文件也必須在 工作器節點上相同的路徑訪問。將文件複製到 所有工作人員或使用網絡安裝的共享文件系統。
這意味着您對驅動程序解析文件然後將數據分發給從服務器的猜測是錯誤的。
相關問題
- 1. 當Spark從文件系統讀取數據時,它會轉到驅動程序?
- 2. spark從hbase讀取數據,工作人員是否需要從遠程驅動程序獲取paritions數據?
- 3. 當驅動程序內置驅動程序時,驅動程序不工作
- 4. 使用Microsoft文本驅動程序讀取CSV數據
- 5. 使用ODBC文本驅動程序讀取第一行
- 6. 當文件正在被其他程序寫入時,使用記事本等程序讀取文件?
- 7. 從文件夾中讀取文件時,它被使用的NodeJS
- 8. 當文件被另一個程序寫入時,是否有可能使用perl/ajax逐行讀取文件?
- 9. Codeigniter 3會話驅動程序。使用數據庫還是文件更好?
- 10. 我想當用戶輸入是'是',是的,文本文件將被製作,並且當輸入是'n'時,沒有文本文件被製作
- 11. Java:當程序是.jar'ed時,它不再讀取jar文件中的圖像?
- 12. 是Dataframe.toPandas總是在驅動程序節點上還是在工作節點上?
- 13. 加載本地文件使用sc.textFile()
- 14. 當讀取/寫入程序文件時訪問被拒絕
- 15. 它是HTML5應用程序還是Android本機應用程序?
- 16. 星火使用sc.textFile從S3讀取文件(「S3N:// ...)
- 17. 當它更新時讀取文本文件的值
- 18. 將Spark工作寫入本地文件系統還是從本地文件系統讀取?
- 19. 我的程序沒有讀取文件,因爲它應該是
- 20. Java程序讀取文本文件
- 21. 是否有一個讀取SQL命令文本文件的MacOS ODBC驅動程序?
- 22. ADO使用ODBC驅動程序還是僅使用OLE DB提供程序?
- 23. 使用MongoDB C#驅動程序:包裝還是解包?
- 24. 獅身人面像文件在本地工作,但不是在閱讀文檔
- 25. 當文件被更改時,Xcode停止從文本文件讀取
- 26. 從文本文件中讀取應用程序時崩潰
- 27. sc.textFile不能在文本文件
- 28. spark sc.textFile是如何工作的?
- 29. 反正有人在iOS上讀取MIDI文件給工作人員嗎?
- 30. 確定文件是二進制文件還是文本文件
這很有道理。謝謝(你的)信息。 – pythonic