後でLoadIncrementalHFiles
コマンドでバルクロードに使用するHFilesを生成するSparkアプリケーションを作成しました。ソース・データ・プールが非常に大きいので、入力ファイルは順次処理される反復に分割されます。LoadIncrementalHFilesとサブディレクトリを使用したバルクロード
/user/myuser/map_data/hfiles_0
... /hfiles_1
... /hfiles_2
... /hfiles_3
...
このmap_data
ディレクトリにある約500のファイル、したがって、私はプロセスに、自動的にLoadIncrementalHFiles
関数を呼び出す方法を探していますがあります。私のHDFS構造は次のようになりますので、各反復は、独自のHFile
ディレクトリを作成しますこれらのサブディレクトリは後で反復されます。
対応するコマンドは次のようになります:私は、このコマンドは(私は/user/myuser/map_data
ディレクトリとそれを呼び出すとき)のサブディレクトリでは動作しないよう、繰り返しコマンドにこれを変更する必要が
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles -Dcreate.table=no /user/myuser/map_data/hfiles_0 mytable
!
上記のコマンドを自動的に実行するために、Java Process
インスタンスを使用しようとしましたが、これは何も起こりません(コンソールに出力されず、HBaseテーブルにも行がありません)。
org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles
コードのJavaクラスも使用できませんが、応答しません。
私のための実例は誰ですか?または上記のhbase
コマンドを親ディレクトリに実行するためのパラメータがありますか?私はHortonworks Data Platform 2.5クラスタでHBase 1.1.2を使用しています。
EDIT私はHadoopのクライアントJavaアプリケーションからLoadIncrementalHFiles
コマンドを実行しようとしたが、私はてきぱきと圧縮に関連する例外を取得しています、Run LoadIncrementalHFiles from Java client