我想讀一個小txt文件作為一個表添加到默認db磚。在試圖通過本地文件讀取文件API,我得到一個‘FileNotFoundError’,但我能夠讀取相同的文件火花抽樣使用SparkContext。
請找到下麵的代碼:
張開(" / FileStore /表/ boringwords。f_read txt”、“r”):在f_read:打印(線)
我得到的是錯誤的:
FileNotFoundError回溯(去年)最近調用<命令- 2618449717515592 > <模塊> - - - - - > 1張開(“dbfs: / FileStore /表/ boringwords。txt”、“r”在f_read) f_read: 2: 3打印(線)FileNotFoundError: [Errno 2]沒有這樣的文件或目錄:“dbfs: / FileStore /表/ boringwords.txt”
我在哪裏,讀取文件使用沒有問題SparkContext:
boring_words = sc.textFile (“/ FileStore /表/ boringwords.txt”)設置(i.strip()因為我boring_words.collect ())
正如預期的那樣,我得到上麵的代碼塊的結果:
[4]:{“瘋了”,“移動”,“文件名”,“圈”,“餅幹”,“移民”,“預期”,“社論”、“審查”}
我指的也是DBFS文檔了解本地文件API的限製,但沒有領導在這個問題上。任何幫助將不勝感激。謝謝!
不應該工作。
我隻是在我的環境中進行測試。
另外:
https://docs.microsoft.com/en-us/azure/databricks/data/databricks-file-system python
https://community.m.eheci.com/s/question/0D53f00001HKHS7CAP/python-open-function-is-unable-to-det..。
但也許你使用community edition的磚嗎?如果我沒記錯的話,dbfs安裝是有限的。所以本地文件接口可能不工作。
(見https://community.m.eheci.com/s/question/0D53f00001HKIFjCAP/where-is-dbfs-mounted-with-community-..。),但不確定。
如果不是:所有我能想到的是,該文件不存在(這樣不正確的路徑),但SC可以發現它不會這樣。
證明工作原理: