我正在尝试使用Java API扫描Google BigTable表的所有行(~1.3M行),但是我收到以下错误:
Error while reading table 'projects/firm-link-147413/instances/some-bigger-table/tables/media-location-demo' : Response was not consumed in time; terminating connection. (Possible causes: row size > 256MB, slow client data read, and network problems)
整个数据集大小约为2GB,单个行大小非常小(<100k)。网络连接非常适合下载和上传。客户端具有读取数据的能力(我有类似的代码,在上传时执行,并且表现良好)。
感谢您的帮助!
整个错误是:
com.google.cloud.bigtable.grpc.io.IOExceptionWithStatus:响应流中出错 在com.google.cloud.bigtable.grpc.scanner.ResultQueueEntry $ ExceptionResultQueueEntry.getResponseOrThrow(ResultQueueEntry.java:88)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.scanner.ResponseQueueReader.getNextMergedRow(ResponseQueueReader.java:95)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:60)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:34)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:89)[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:35)[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.hbase.adapters.read.BigtableResultScannerAdapter $ 1.next(BigtableResultScannerAdapter.java:58)[bigtable-hbase-1.2-0.9.3.jar!/:na] 在org.apache.hadoop.hbase.client.AbstractClientScanner $ 1.hasNext(AbstractClientScanner.java:94)[hbase-client-1.2.1.jar!/:1.2.1] 在com.shutterfly.corp.migrator.locspec.service.BigTableConnector.scanAllRows(BigTableConnector.java:157)[classes!/:0.0.1-SNAPSHOT] at com.shutterfly.corp.migrator.locspec.service.MediaIALookupMigrator.verifyMigratedData(MediaIALookupMigrator.java:86)[classes!/:0.0.1-SNAPSHOT] 在com.shutterfly.corp.migrator.locspec.LocspecMigratorApplication.main(LocspecMigratorApplication.java:21)[classes!/:0.0.1-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)〜[na:1.8.0_102] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[na:1.8.0_102] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[na:1.8.0_102] 在java.lang.reflect.Method.invoke(Method.java:498)〜[na:1.8.0_102] 在org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)[locspec-migrator-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 在org.springframework.boot.loader.Launcher.launch(Launcher.java:87)[locspec-migrator-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 在org.springframework.boot.loader.Launcher.launch(Launcher.java:50)[locspec-migrator-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 在org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)[locspec-migrator-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 引起:com.google.bigtable.repackaged.io.grpc.StatusRuntimeException:DEADLINE_EXCEEDED:读取表格时出错项目&firm-firm-link-147413 / instances / some-larger-table / tables / media-location-demo& #39; :没有及时消耗响应;终止连接。 (可能的原因:行大小&gt; 256MB,慢客户端数据读取和网络问题) 在com.google.bigtable.repackaged.io.grpc.Status.asRuntimeException(Status.java:536)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.scanner.StreamObserverAdapter.onClose(StreamObserverAdapter.java:61)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.cloud.bigtable.grpc.io.ChannelPool $ InstrumentedChannel $ 2.onClose(ChannelPool.java:201)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl $ ClientStreamListenerImpl.close(ClientCallImpl.java:481)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl $ ClientStreamListenerImpl.access $ 600(ClientCallImpl.java:398)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl $ ClientStreamListenerImpl $ 1StreamClosed.runInContext(ClientCallImpl.java:513)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在com.google.bigtable.repackaged.io.grpc.internal.SerializingExecutor $ TaskRunner.run(SerializingExecutor.java:154)〜[bigtable-hbase-1.2-0.9.3.jar!/:na] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)〜[na:1.8.0_102] 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)〜[na:1.8.0_102] 在java.lang.Thread.run(Thread.java:745)〜[na:1.8.0_102]
答案 0 :(得分:1)
我正在看这个。这取决于您的使用所特有的某些情况,特别是您在各大洲的工作。你可以在Google Groups上发帖吗?关于进一步指导的任何对话可能需要保密而不是公开,而小组给了我们这个选项。