2017-02-07 99 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

相关问题