問題タブ [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 - Thrift Hbase Python -> thrift.transport.TTransport.TTransportException: TSocket 読み取り 0 バイト
接続が確立されず、エラーが発生するのはなぜですか
thrift.transport.TTransport.TTransportException: TSocket read 0 bytes
thrift を使用して Python から hbase に接続しようとしています。Cloudera cdh5.14 クラスターで作業しており、thrift サーバーがクラスターで実行されています。hbase バージョン 1.2.0
3週間経ちましたが、私はすでに次のことを試しました: 検索を通じて、python、happybase、またはhbaseに関係なく、倹約と関係があることがわかりました。これは kerberized クラスターであり、最初のリンクで述べたようにプロトコルとトランスポート モードが変更されています。1) Cloudera/CDH v6.1.x + Python HappyBase v1.1.0: TTransportException(type=4, message='TSocket read 0 bytes')
2) TSocket 読み取り 0 バイト - happybase バージョン 0.8
3)長期呼び出しの節約タイムアウト: thrift.transport.TTransport.TTransportException: TSocket 読み取り 0 バイト
4) TSocket は Python でハイブにアクセスして 0 バイトを読み取りました
5) TTransportException: Python 経由で Hive にアクセス中に TSocket が 0 バイトを読み取った
6) Python thrift エラー ```TSocket read 0 bytes```
7)例外「TTransportException」がキャッチされず、「TSocket read 0 bytes」というメッセージが表示される
8) TSocket 読み取り 0 バイト Apache Thrift MongoDB
エラーのスニペットは、上記のリンクのほとんどと似ています
どんな種類の助けも大歓迎です!
python - Python SDK を使用したプレフィックスによる Bigtable のスキャン
Python SDK を使用して Google Cloud Bigtable で複数のプレフィックスによる検索を実行しようとしています。を使用してread_rows
いますが、接頭辞で明示的に検索する良い方法がわかりません。
私の最初のオプションはRowSet
+RowRange
です。3 つのクエリをテストしていますが、得られる時間は次のとおりです。~1.5 秒、~3.5 秒、~4.2 秒。これは、Node SDK (フィルター オプションがある) を使用した検索よりも桁違いに遅いです。~0.19、~0.13、~0.46。
2 番目のオプションはRowFilterChain
+を使用することRowKeyRegexFilter
です。次の 2 つのクエリのパフォーマンスはひどいものです。~3.1秒、~70秒、~75秒~0.124 秒、~72 秒、~69 秒。フルスキャンを行っているようです。これはコードセクションです:
3 番目のオプションは、プレフィックス フィルタリングを備えた別の Happybase ベースの SDK を使用することです。それで、私は得ています~36秒、~3秒、~1秒~0.4、~0.1、~0.17。最初のクエリには複数のプレフィックスが含まれており、同じリクエストで複数のフィルタリングをサポートしていないようです。そのため、プレフィックスと同じ数のリクエストを実行し、イテレータを連結しています。他の 2 つは、プレフィックス フィルターを利用しているようです。
UPDATE : 環境に誤りがあったため、最初は削除しました。適切に実行した後、範囲クエリの時間は悪くありませんが、接頭辞検索を利用すると Happybase テストはさらに高速になるため、改善の余地があるようです。
Happybase での複数のプレフィックス検索、またはメインの Python SDK での実際のプレフィックス検索の使用について助けていただければ幸いです。
python - ワイド (15,000 + 列) CSV を Apache Hbase インスタンスにアップロードする方法
Apache Hbase インスタンスにアップロードしたい大規模なマトリックスを表す CSV ファイルがあります (AWS EMR で実行されていますが、それは問題ではありません)。CSV には ~15000 列と ~50000 行が含まれています。マトリックスのセル値は整数です。
CSV は次のようになります。
各列 (col1、col2 など) を列修飾子として、HBase スキーマを単一の列ファミリーに保持することを計画しています。
Python スクリプトで CSV を反復処理し、 happybaseなどを使用して各行をアップロードすることを検討しましたが、かなり時間がかかるようです。
ImportTSVツールを調べましたが、このツールでは、次のように、すべての列名の詳細を示す引数が必要なようです。
引数に何万もの列を詳述することは、良い解決策とは思えません。
python-3.x - フィルターで引用符を使用してスキャンするとエラーがスローされる
Happybase/python を使用して hbase からデータを取得しています。すでにいくつかのフィルタリングを使用していますが、何らかの理由で機能しません。
スキャンコードのフィルターは次のようになります。
どちらが機能するか 現在、このinput
列には次のようなレコードがあります。
問題は、私keyword
が言うように設定した場合:
それは機能しますが、明らかにそれは私が必要としているものではないので、探している値と連結すると:
私は得るthriftpy.transport.TTransportException: TTransportException(type=4, message='TSocket read 0 bytes')
新しいテストの後、問題は一重引用符にあると結論付けましたが、その理由や修正方法がわかりません。試してみましたがkeywork = "instition_id\': \'"
、keywork = 'instition_id\': \''
どれもうまくいきませんでした。それはおそらくばかげたことですが、それは私を夢中にさせます。
そして、私は正規表現について考えています。おそらく、どの文字でもうまくいくと伝えるためにinstitution_id?: ?my_value
withのようなものを与えるでしょう?
が、正規表現については何も知らないので...
python - 単一の API 呼び出しで HappyBase の行セットをスキャンするにはどうすればよいですか?
大きなテーブルをスキャンして ID (または ID のプレフィックス) のリストを取得したい (Python HappyBase を使用)。
サーバー側でそれを行う方法はありますか?つまり、長い一連の API 呼び出しを実行するのではなく、1 回の API 呼び出しでスキャンする開始/停止行のリストを送信したいと考えています。
これが例です。my_big_tables キーの場合:
1 つのクエリで、すべての年の 1 月と 2 月のすべてのレコードを取得したいと考えています。結果は次のようになります。