2016-05-16 40 views
1

我創建了包含幾個子過濾器的複雜過濾器(FilterList)。如何增加Bigtable查詢中的過濾器限制?

沒有文檔定義:因爲

StatusRuntimeException INVALID_ARGUMENT: Row filter exceeds maximum size of 4096 bytes. 

我檢查配額和限制服務雲的Bigtable與該過濾查詢不能被執行上述限制。我也檢查了BigtableOptionsFactory,但沒有看到改變這個限制的選擇。 我該如何避免這個限制?

堆棧跟蹤:

java.lang.RuntimeException: com.google.cloud.bigtable.grpc.io.IOExceptionWithStatus: Error in response stream 
    at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:97) 
    at com.purato.common.dao.hbase.HbaseQuery.execute(HbaseQuery.java:82) 

Caused by: com.google.cloud.bigtable.grpc.io.IOExceptionWithStatus: Error in response stream 
     at com.google.cloud.bigtable.grpc.scanner.ResultQueueEntry.getResponseOrThrow(ResultQueueEntry.java:67) 
     at com.google.cloud.bigtable.grpc.scanner.ResponseQueueReader.getNextMergedRow(ResponseQueueReader.java:71) 
     at com.google.cloud.bigtable.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:64) 
     at com.google.cloud.bigtable.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:28) 
     at com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:93) 
     at com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:40) 
     at com.google.cloud.bigtable.hbase.adapters.BigtableResultScannerAdapter$1.next(BigtableResultScannerAdapter.java:43) 
     at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:94) 
     ... 39 more 
Caused by: com.google.bigtable.repackaged.io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Row filter exceeds maximum size of 4096 bytes 
     at com.google.bigtable.repackaged.io.grpc.Status.asRuntimeException(Status.java:431) 
     at com.google.cloud.bigtable.grpc.BigtableDataGrpcClient$5.onClose(BigtableDataGrpcClient.java:308) 
     at com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:453) 
     at com.google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54) 
     at com.google.bigtable.repackaged.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154) 
     ... 3 more 

回答

2

你不能。我剛剛查過; 4096字節是過濾器長度的系統限制。

您需要找到一種方法來縮短您的過濾器,設計您的查詢或查看客戶端的後期過濾。

+1

感謝您的評論。您是否打算在BigTable文檔中更新帶有配額或限制大小的頁面? –

+0

@KrzysztofGardo我們會更新文檔以提及此。 –