問題タブ [happybase]
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.
python - hbase.zookeeper.quorum だけが指定された場合の HBase への接続
hbase-site.xml
によって与えられるとき
happybase で HBase に接続するにはどうすればよいですか?
私はそれらの1つに接続しようとしました
これは、次のエラーを示しています。
python - Pythonでhappybaseを使用してhbaseデータベースへの接続を閉じる
このスクリプトを実行するたびに、hbase テーブルにデータが入力されますが、接続は開いたままになります。使用して確認するnetstat -an
と、スクリプトが完了した後も持続する接続数が増加していることがわかります。
何か不足していますか?明示的に接続を閉じる必要がありますか?
助けてくれてありがとう。
python - Python (happybase) から hbase テーブルへの書き込み
map-reduce ジョブを実行していて、hbase に値を入力したいと考えています。stdin を介して map-reduce ジョブから値をストリーミングし、happybaseを介して行を挿入 (配置) する Python スクリプトを用意しています。
Pythonからプットを実行して、さまざまな種類の問題に遭遇しています。最新の問題は、私が理解しているように、ライブラリの互換性の問題に関係しているようです。エラー ログには iteritems に関する問題が表示されます。happybaseのマニュアルでは、ソートされたクエリに必要な追加の Python ライブラリについて言及していますが、これは Python バージョン 2.7 (私は 2.7.6 を実行しています) 以降では必要ありません。
誰かが同様の問題に遭遇しましたか?簡単に修正できますか、それとも別のインターフェイスを使用することをお勧めしますか?
詳細
Hadoop (2.6.0) と hbase (0.98.10 - 2/5/2015) をインストールし、スタンドアロン構成で実行しています。それらは起動されます。シェルを介して hbase とやり取りし、テーブルを作成し、値を入力してスキャンすることができます。
happybase を介して Python からテーブルをスキャンして印刷できます。これは、少なくとも接続が機能していることを示しています。しかし、 put は常に失敗します。この短い例は、問題を示しています。
この例のために、私のテーブルはtestと呼ばれます(hbase シェルで作成されます)。1 つの列f1があります。
今python:
さらに詳細:
スリフトが走っています。
Java バージョン "1.8.0_31" Java(TM) SE ランタイム環境 (ビルド 1.8.0_31-b13) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 25.31-b07、混合モード)
エラーログ:
hbase - happybase table.put は文字列値を受け入れませんか?
java と python を使用して table.put をテストしています。
Java では、int または float 値を列に書き込むことができます。ハッピーベースを使って
TypeError: object of type 'int' has no len() で爆発します
happybase が文字列以外の書き込みをサポートしていないというのは本当でしょうか?
python - happybase を使用して行の最初の 10 列のみを取得する
行から列ファミリーの限られた数の列のみを取得することは可能ですか? ['cf1': 'col1']
特定の行の最初の 10 個の値を取得したいとします。
python - happybase を使用して分離された HBase 列を出力する
私はそのようなHBaseテーブルを持っています:
url1, url2, ...
行キーです。テーブルには列ファミリーが1 つしかありません。
入力として日付範囲 ( datei
~datej
) があります。各 URL の 1 日のクリック数のシェアを出力する必要があります。
出力は次のような形式である必要があります。
どこ
happybase-script を書き始めましたが、happybaseを使用して行から別の列を選択する方法がわかりません。私の happybase-script は以下の通りです:
query()
では、定義された日付範囲で区切られた列を取得するには、スクリプト (実際には関数) をどのように変更すればよいでしょうか?
python - happybase table.scan() と hbase thrift scannerGetList() の違い
while ループで hbase のテーブルを 1000 行スキャンする 2 つのバージョンの Python スクリプトがあります。https://happybase.readthedocs.org/en/latest/user.html#retriving-rowsのように happybase を使用する最初のもの
http://blog.cloudera.com/blog/2014/04/how-to-use-the-hbase-thrift-interface-part-3-using-scans/のように hbase thrift インターフェイスを使用する 2 つ目
データベースの行は数字です。だから私の問題は、特定の行で奇妙なことが起こっているということです:
happybase プリント (行):
および thrift_scanner の出力 (行):
これは、次の 1000 行 (row_start=new_scan または next data=scannerGetList) の時点ではなく、バッチの途中で発生しています。そして、それは毎回起こります。
私は、scannerGetList を使用した 2 番目のスクリプトが正しく機能していると言えます。
happybase が違うやり方をするのはなぜですか? タイムスタンプまたは happybase/hbase ロジック内の他のものを考慮していますか? 最終的にテーブル全体を異なる順序でスキャンしますか?
ps。happybase バージョンが 1000 行目を 2 回スキャンして出力し、scannerGetList が次のデータの最初の行を無視することは知っています。それはポイントではありません。魔法は1000行のバッチの途中で起こっています。
python - happybase が hbase に接続してテーブル情報を取得できませんでした
私はhbaseを初めて使用します。ここのチュートリアルに従ってhappybaseを使用したい :
しかし、私はいつも倹約の問題を抱えています:
誰でもこの問題を解決する方法を知っていますか? 私はLinuxを使用しています。どうも