2017-02-07 73 views
0

我的羣集應該讀取位於我的azure存儲中的一些輸入文件。我通過livy將我的.jar提交給集羣,但它總是死掉,因爲我找不到我的文件 - >用戶類拋出異常:java.io.FileNotFoundException。我錯過了什麼? 我不想使用sc.textFile來打開文件,因爲它會使它們變成RDD結構,我需要它們的結構正確。通過scala應用程序在azure wasbs中讀取文件

val Inputs : String = scala.io.Source.fromFile("wasbs:///inputs.txt").mkString 

我相信,我試圖從錯誤的locationo或用錯誤的方法來讀取,任何想法?

謝謝!

回答

0

根據您的描述,基於我的理解,我認爲您希望使用在HDInsight上運行的Scala在Azure存儲上加載純文本文件。

根據我的經驗,有兩種方法可以嘗試實現您的需求。

  1. 只需使用Azure的存儲的Java SDK中斯卡拉來獲取文本Blob的內容,請參考教程How to use Blob storage from Java,我覺得用Scala的重寫本教程中的示例代碼非常簡單。

  2. 使用​​中的Hadoop Filesystem API加載文件數據,請參考hadoop示例wiki https://wiki.apache.org/hadoop/HadoopDfsReadWriteExample在Scala中編寫代碼。

+0

謝謝,我會檢查! – jpsca1293

相關問題