3

私は現在、「Hadoop を使用した時系列マイニング アルゴリズムのためのクラウド コンピューティング」というタイトルのプロジェクトを開始しています。私が持っているデータは、テラバイトを超えるサイズの hdf ファイルです。Hadoop では、さらに処理するための入力としてテキスト ファイルが必要であることがわかっています (map-reduce タスク)。そのため、すべての .hdf ファイルをテキスト ファイルに変換するオプションが 1 つあります。これには多くの時間がかかります。

または、map reduce プログラムで生の hdf ファイルを使用する方法を見つけました。これまでのところ、hdf ファイルを読み取り、そこからデータを抽出する Java コードを見つけることに成功していません。誰かが hdf ファイルを操作する方法についてより良いアイデアを持っている場合は、そのような助けに本当に感謝します.

ありがとう

4

4 に答える 4

3

ここにいくつかのリソースがあります:

  • SciHadoop(netCDFを使用しますが、すでにHDF5に拡張されている可能性があります)。
  • JHDF5または下位レベルの公式JavaHDF5インターフェースを使用して、map-reduceタスクの任意のHDF5ファイルからデータを読み取ることができます。
于 2012-07-25T17:01:28.293 に答える
2

最初のオプションとして、 HDF ダンプなどの変換ツールを使用して、HDF ファイルをテキスト形式にダンプできます。それ以外の場合は、Java ライブラリを使用して HDF ファイルを読み込んでテキスト ファイルに書き込むプログラムを作成できます。

2 番目のオプションとして、SciHadoop は、Hadoop から科学データセットを読み取る方法の良い例です。NetCDF-Java ライブラリを使用して NetCDF ファイルを読み込みます。Hadoop は、ファイル IO の POSIX API をサポートしていません。そのため、追加のソフトウェア レイヤーを使用して、NetCDF-java ライブラリの POSIX 呼び出しを HDFS(Hadoop) API 呼び出しに変換します。SciHadoop がまだ HDF ファイルをサポートしていない場合は、少し難しい道をたどって、同様のソリューションを自分で開発することもできます。

于 2012-07-26T16:59:52.737 に答える
1

Java コードが見つからず、他の言語で実行できる場合は、hadoop ストリーミングを使用できます。

于 2012-07-25T21:34:32.970 に答える