問題タブ [hbasestorage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Pig HbaseStorage のカスタマイズ
Pig スクリプト用に HbaseStorage をカスタマイズするにはどうすればよいですか? 実際には、データを pig スクリプトにロードする前に、データに対していくつかのビジネス ロジックを実行したいと考えています。HbaseStorage 上のカスタム ストレージのようなものになります。
たとえば、行キーがこの A_B_C のような構造になっています。現在、豚のスクリプトで HbaseStorage に A_B_C キーを渡していますが、入力データを実際の豚のスクリプトに提供する前に、A_B_C_D のようなキーに対してフィルタリングなどのロジックを実行したいと考えています。どのように可能ですか
hadoop - HBase 一括読み込みの使用
HDFS データを既存の HBase テーブルにインポートしようとしています。私が持っているテーブルは、2 つの列ファミリーで作成され、新しいテーブルを作成するときに HBase に付属するすべてのデフォルト設定で作成されました。テーブルはすでに大量のデータでいっぱいで、98 のオンライン リージョンがあります。それが持っている行キーのタイプは、(簡易版) の形式になっています: 2-CHARS_ID + 6-DIGIT-NUMBER + 3 X 32-CHAR-MD5-HASH.
キーの例: IP281113ec46d86301568200d510f47095d6c99db18630b0a23ea873988b0fb12597e05cc6b30c479dfb9e9d627ccfc4c5dd5fef。
インポートしたいデータは HDFS にあり、Map-Reduce プロセスを使用して読み取ります。HDFS ファイルから読み取った各行に対応する Put オブジェクトをマッパーから出力します。既存のデータには、すべて「XX181113」で始まるキーがあります。ジョブは次のように構成されています。
プロセスを開始すると、98 個のレデューサー (テーブルにあるオンライン リージョンに等しい) で構成されていることがわかりますが、問題は、4 つのレデューサーがそれらの間で分割されたデータの 100% を取得し、残りは何もしなかったことです。その結果、非常に大きなサイズの 4 つのフォルダー出力のみが表示されます。regions
これらのファイルは、テーブルにインポートできる4 つの新しいファイルに対応していますか? もしそうなら、98 個のレデューサーが作成されるのに、なぜ 4 個しかないのでしょうか? HBase ドキュメントを読む
なぜ私がこの振る舞いをするのかについて、私をさらに混乱させました。
ありがとう!
hadoop - pig を使用して Hbase テーブルを更新する
Put を使用して、HBase の行のさまざまな列を更新できることを認識しています。HBaseStorage で Pig + HBase を使用しています。テーブルにキーが存在しない Pig 式で問題なく、HBase に格納およびロードできます。しかし、キーが存在する HBaseStorage() を使用してテーブルを更新しようとすると、ジョブが失敗します。
HBaseStorage を使用して新しいレコードを保存したり、既存のレコードの列を更新したりすることしかできないかどうかを明確にしてください。
前もって感謝します。
hadoop - Pig、Oozie、および HBase - java.io.IOException: No FileSystem for scheme: hbase
私の Pig スクリプトは、Oozie ワークフローに入れるまでは単独で正常に動作しますが、次のエラーが表示されます。
HBase および Zookeeper jar を正常に登録しましたが、同じエラーを受け取りました。
また、Pig スクリプトに次の行のバリエーションを追加して、Zookeeper Quorum を設定しようとしました。
インターネットで検索した結果、これを自分の workflow.xml の先頭に追加するように指示されました。
これで問題は解決しました。HBase および Zookeeper jar と Zookeeper クォーラムの登録を削除することさえできました。
再確認した結果、ジョブが実際にジョブを実行していることに気付きました。結果は期待どおりに HBase に保存されます。しかし、Oozie は、実際には発生していないのに、失敗が発生したと主張しています。
mapreduce.fileoutputcommitter.marksuccessfuljobs
をに設定することが解決策になるとは思いませんfalse
。
他の解決策はありますか?
hadoop - pig または hive を使用して CSV データを HBase にロードする
こんにちは、hbase にデータをロードする豚のスクリプトを作成しました。私のcsvファイルはhadoopの場所に保存されています/hbase_tables/zip.csv
豚のスクリプト
私が実行すると、以下のエラーが発生します
豚のスタック トレース
csvデータファイルをhbaseにインポートする方法、または代替ソリューションがあるかどうか教えてください。
hadoop - hbase から重複データを削除する方法
私はhbaseテーブルを持っています。
テーブル スキーマ: empid、empname、age
データ 1: キー - 1001 値 - 1,John,26 (正しいデータ)
データ 2: キー - 1002 値 - 1,John,25 (データが正しくない。ユーザーが誤って入力した。)
empid、empnameと同じ値を持つ列は2つだけです。単一の列の値が異なることを除いて、すべての列で同じ値を持つレコードを取得したい。
注: 3 つの列の値は同じでも、4 番目の列は異なる可能性があります。
Impala Query を教えていただけると助かります。