2016-12-22 6 views
0

Windowsマシンにhadoopとsparkの両方をローカルにインストールしました。WindowsのローカルHDFSにアクセスするにはどうすればよいですか?

Iは、例えば、Hadoopの中で予想通り

hdfs dfs -tail hdfs:/out/part-r-00000 

作品をHDFSファイルにアクセスすることができます。しかし、スパークシェルから同じファイルにアクセスしようとすると、たとえば

val f = sc.textFile("hdfs:/out/part-r-00000") 

ファイルが存在しないというエラーが表示されます。 Sparkは、file:/ ...構文を使用してWindowsファイルシステム内のファイルにアクセスできます。

私はHADOOP_HOME環境変数をhadoopインストールを含むフォルダであるc:\ hadoopに設定しました(特に、sparkに必要なwinutils.exeはc:\ hadoop \ binにあります)。

HDFSデータがc:\ tmpフォルダに格納されているように見えるので、私はこの場所についてsparkに知らせる方法があるのか​​疑問に思っていました。

ご協力いただければ幸いです。ありがとうございました。

+0

あなたの問題解決する必要があります。 –

+0

Sparkは、あなたの 'hadoop-env.sh'、' core-site.xml'、そしておそらく 'hdfs-site.xml'ファイルについて知る必要があります –

答えて

0

ファイルが存在しない場合は、スパークアプリケーション(コードスニペット)がHDFSに接続できることを意味します。 使用しているHDFSファイルのパスが正しくありません。そのことについて申し訳ありません - 私はそれがむしろスタックオーバーフローに属し考える -

これは、私はちょうど私がデータ科学におけるこの投稿を実現

val f = sc.textFile("hdfs://localhost:8020/out/part-r-00000") 
関連する問題