質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Hadoop

Apache Hadoopは大規模なデータの分散処理をサポートするJavaソフトウェアフレームワークです。Hadoopを利用すると、数千ノードおよびペタバイト級のアプリケーションデータを処理することができます。

Q&A

解決済

1回答

1712閲覧

Windows版Hadoopで、jarファイル実行時に「-files」で複数ファイルを指定したい

AkiFuku

総合スコア129

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Hadoop

Apache Hadoopは大規模なデータの分散処理をサポートするJavaソフトウェアフレームワークです。Hadoopを利用すると、数千ノードおよびペタバイト級のアプリケーションデータを処理することができます。

0グッド

0クリップ

投稿2019/02/08 01:08

編集2019/02/08 01:25

前提・実現したいこと

Windows版Hadoopでjarファイルを実行する際に、-filesオプションを使って複数ファイルを作業ディレクトリに配布しようとしています。
公式サイトのチュートリアルコマンドガイドでは、カンマ区切りで記述することでリストを渡せると書いてあるのですが、最初の一個しか-filesへの対象ファイル名として認識されません。

発生している問題・エラーメッセージ

たとえば、以下のようにjarファイルを実行するとします(コマンドは公式チュートリアルのものです)。

cmd

1bin/hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount -files cachefile1.txt,cachefile2.txt.cachefile3.txt -libjars mylib.jar -archives myarchive.zip input output

すると、inputディレクトリとしてcachefile2.txtが存在しないという警告が出て処理が止まります。

org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/<username>/cachefile2.txt

試したこと

■ワイルドカード指定
複数ファイルの指定に

-files *.txt

を試しましたが、やはり2番目以降のファイルはinputとして扱われてしまいました。
■複数回記述
また、ダメもとで以下のように-filesを複数回使ってみました。エラーにはなりませんが、作業ディレクトリの中に2番目(cachefile2.txt)以降のファイルは存在せず、送信には失敗しているようでした。

-files cachefile1.txt -flies cachefile2.txt -files cachefile3.txt

※作業ディレクトリの中身の確認は、公式チュートリアルのWordCount.javaのmap()関数内でカレントディレクトリ内のファイル一覧を取得することで確認しました。また、GenericOptionsParserで-filesを取得できるようにも書き加えました。

補足情報(FW/ツールのバージョンなど)

OS:windows10 (VMware)
Hadoop 2.9.2
java openjdk 1.8.0_201

どう記述すれば複数ファイルを指定することができるのでしょうか?
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ダブルクォーテーションで囲むことで解決しました。

-files "cachefile1.txt,cachefile2.txt,cachefile3.txt"

投稿2019/02/08 02:41

AkiFuku

総合スコア129

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問