質問
私は書く必要があるデータをHadoop(HDFS)外部からのようなウィンドウボックスだ。●今すぐってコピーするデータをnamenode用HDFSのを入れてコマンドを摂取するクラスター私のインターネット上の情報のコードはこちらでお分かりになったAPIを行っています。思うので見せてくれると私は間違いありかかわらず、全てのコードは外部顧客に対しHDFS.
解決
、Cygwinをインストールします(あなたは自分のNNを指すバイナリおよびコンフィグ必要 - 実際にサービスを実行する必要はありませんが)、ローカルのHadoopをインストールし、実行しhadoop fs -copyFromLocal /path/to/localfile /hdfs/path/
また、ウェブUIを介してファイルをアップロードする新しいClouderaのデスクトップを使用することができます。
がありHDFS用のWebDAVオーバーレイもありますが、私はそれがどのように安定した/信頼性がわかりません。
他のヒント
は、JavaのAPIがあります。あなたは、あなたのプロジェクトでのHadoopのコードを含めることによって、それを使用することができます。 * Javadocは、一般的にはかなり便利ですが、もちろん、あなたが* gで探しているものを、知っている必要があります http://hadoop.apache.org/common/docs/する
あなたの特定の問題のために、見ています: ます。http://hadoop.apache。 ORG /共通/ドキュメント/現在/ API /組織/ apacheの/ Hadoopの/ FS / FileSystem.htmlする (これは、異なるバージョンの他のJavaDocを参照してください、最新のリリースに適用されます!)
一般的なコールは、次のようになります。
Filesystem.get(new JobConf()).create(new Path("however.file"));
これはあなたが定期的にJavaIOで扱うことができるストリームを返します。
私はHDFSに入れるために必要なデータをロードする問題については、私は問題を好転させることを選択します。
代わりに、彼らが住んでサーバからHDFSにファイルをアップロードする、私はマッパーが(HTTPS経由でこの場合)、ファイルサーバーからファイルを読み込むReduceジョブ/ Javaの地図を書いて、その後、HDFSに直接書き込みます( のJava API を経由して)ます。
ファイルのリストは、入力から読み込まれます。私はその後、取得するファイルのリストを含むファイルを移入する外部スクリプトを持って、HDFSにファイルをアップロード(使用してのHadoopのDFS -put の)、そして/マップを起動するのまともな数の仕事を減らしますマッパーます。
これは、複数のファイルを同時に読み出し/書き込みされているので、私に優れた転送性能を与えます。
あなたが探していたかもしれない答え、うまくいけば便利とにかく: - 。)
約2年間私の最後の答えの後、二つの新しい選択肢が存在することになります。
フープに関しては、それが最初の Clouderaの年代に発表されましたブログとhref="https://github.com/cloudera/hoop" rel="noreferrer"> githubのリポジトリの
あなたが書いている時点ではまだリリースされていないのHadoop 0.23.1を実行している場合は、 、フープではなく、独自のコンポーネント、HttpFSとしてのHadoopの一部です。この作品は、 HDFS-2178 のの一環として行われました。フープ/ HttpFS HDFSに、だけでなく、アマゾンS3のような他のHadoop互換ファイルシステムのみならず、プロキシとすることができる。 フープ/ HttpFS独自のスタンドアロンサービスとして実行されます。 WebHDFS のどのもあります名前ノードとデータノードのサービスの一部として実行されます。また、私が正しく理解していれば、HttpFS APIと互換性があり、RESTのAPIを提供します。 WebHDFSは、Hadoopの1.0とその主要な機能の1の部分は、それがデータの局所性を提供することです - あなたは、読み出し要求を作っているとき、あなたは、データが存在するデータノード上WebHDFSコンポーネントにリダイレクトされます。 を選択するためのコンポーネントあなたの現在の設定に少し依存し、あなたが持っている必要があるもの。あなたは今、HDFSへのHTTP RESTインターフェイスを必要とし、あなたがWebHDFSが含まれていないバージョンを実行している場合は、githubのリポジトリからフープで始まることは最も簡単なオプションのように思えます。あなたがWebHDFSが含まれたバージョンを実行している場合は、フープがWebHDFSが欠けていることを持っている機能のいくつか必要でない限り、私はそれのために行くだろう(他のファイルシステムへのアクセス、帯域幅の制限などを。)
そうではありま専用ページここで http://wiki.apache.org/hadoop/MountableHDFS:
これらのプロジェクト(下記に列挙ことができるHDFSを搭載する(ほとんど 味のUnix)として標準のファイルシステム用のマウントのコマンドです。一度に搭載、ユーザー駆動が可能でのインスタンスhdfsの使用 標準Unixなどユーティリティ'ls','cd','cp','mkdir','find', 'grep'は使用Posix標準図書館のように、書く、読む、あ C、C++、Python、Ruby、Perl、Java、bashなど。
後で記述するこれらの事業の
- contrib/ヒューズ-dfsはヒューズ、C接着剤、libhdfsのhadoop-dev.jar
- ヒューズ-j-hdfsはヒューズ、ヒューズのためのjavaのhadoop-dev.jar
- hdfs-ヒューズ-googleコードのプロジェクトではcontrib/ヒューズ-dfs
- webdav-hdfsとして公開されているwebdav資源mapR、出hdfs対応ファイルシステムを支える読み書き NFSのアクセス
- HDFS NFS代行-輸出HDFSとしてNFSを使用しないヒューズが切れていた。ポKerberosの再注文書などに書き込まれhdfs る。
しかしこれらのものを更新します答えを早くしてしまったのと同じを必要としてOP
あなたは今もHadoopの統合のためのコンポーネントが含まれて才能を、使用しようとすることができます。
挑戦できますので取り付けHDFSのご機(ここではmachine_X)で実行中のコードとmachine_Xてinfinibandの接続性のHDFSチェック https://wiki.apache.org/hadoop/MountableHDFS
また、( http://hadoopdrive.effisoft.euする)HadoopDriveを使用することができます。これは、Windowsシェル拡張です。