1

FuzzyRowFilter を使用しようとしています。Cloudera 4.3.0 クラスター上の Hbase 0.94.6-cdh4.3.0 を使用しています。

リンクをたどった後、https: //builds.apache.org/job/HBase-0.94/ws/trunk/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.javaからJavaファイルを取得しましたhttps://issues.apache.org/jira/browse/HBASE-7628から。マイナー バージョン 766 が見つからなくなったので、0.94 トランクからファイルを抽出しました。

このようにスキャンするテストテーブルがあります

hbase(main):005:0> scan 'test_fuzzy_rules' ROW COLUMN+CELL
1XX_2XX column=rules:rule1, timestamp=1375719501754, value=rule1 の値
1XX_2XX column=rules:rule2, timestamp=1375719535698, value=rule2 の値
1 0.0170 秒で行*

そして、以下のようにルール フィルターを設定し、それを Scan オブジェクトと HTable に関連付けました。

FuzzyRowFilter fuzzyFilter = new FuzzyRowFilter( Arrays.asList(new Pair<byte[], byte[]>(Bytes.toBytesBinary("\\x00\\x00\\x00_2XX"), new byte[] {1, 1, 1, 0 , 0, 0, 0 })));

ジョブを実行すると、次のエラーが表示されます

org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=10, exceptions:
Mon Aug 05 17:20:04 BST 2013, org.apache.hadoop.hbase.client.ScannerCallable@556917ee, java.io.IOException: IPC server unable to read call parameters: Error in readFields

at org.apache.hadoop.hbase.client.ServerCallable.withRetries(ServerCallable.java:183)
    at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:205)
    at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:120)
    at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:665)
    at xx.xx.xxxx.xx.xxxxxx.xxxxxx.xxxx.xxxx.main(XXXX.java:197)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:208).... 

ここで何が起こっているのか、どんな考えでも。エラーを追跡しようとしましたが、失われました。

ありがとうございます。それでは、お元気で

4

0 に答える 0