2016-07-12 1 views
1

Я использую поток данных для своей работы, чтобы записать некоторые данные в большую таблицу.
В настоящее время у меня есть задача прочитать строки из большой таблицы.
Однако, когда я пытаюсь читать строки из большой таблицы с использованием потока bigtable-hbase-dataflow, он терпит неудачу и жалуется, как следует.
Не удалось прочитать из таблицы с большим количеством данных в потоке данных

Error: (3218070e4dd208d3): java.lang.IllegalArgumentException: b <= a 
at org.apache.hadoop.hbase.util.Bytes.iterateOnSplits(Bytes.java:1720) 
at org.apache.hadoop.hbase.util.Bytes.split(Bytes.java:1683) 
at org.apache.hadoop.hbase.util.Bytes.split(Bytes.java:1664) 
at com.google.cloud.bigtable.dataflow.CloudBigtableIO$AbstractSource.split(CloudBigtableIO.java:512) 
at com.google.cloud.bigtable.dataflow.CloudBigtableIO$AbstractSource.getSplits(CloudBigtableIO.java:358) 
at com.google.cloud.bigtable.dataflow.CloudBigtableIO$Source.splitIntoBundles(CloudBigtableIO.java:593) 
at com.google.cloud.dataflow.sdk.runners.worker.WorkerCustomSources.performSplit(WorkerCustomSources.java:413) 
at com.google.cloud.dataflow.sdk.runners.worker.WorkerCustomSources.performSplitWithApiLimit(WorkerCustomSources.java:171) 
at com.google.cloud.dataflow.sdk.runners.worker.WorkerCustomSources.performSplit(WorkerCustomSources.java:149) 
at com.google.cloud.dataflow.sdk.runners.worker.SourceOperationExecutor.execute(SourceOperationExecutor.java:58) 
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.executeWork(DataflowWorker.java:288) 
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.doWork(DataflowWorker.java:221) 
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.getAndPerformWork(DataflowWorker.java:173) 
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.doWork(DataflowWorkerHarness.java:193) 
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:173) 
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:160) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

Я использую 'com.google.cloud.dataflow: Google облако-поток данных, Java-СДК-все: 1.6.0' и «com.google.cloud.bigtable: Bigtable-hbase- dataflow: 0.9.0 '.

Вот мой код.

CloudBigtableScanConfiguration config = new CloudBigtableScanConfiguration.Builder() 
    .withProjectId("project-id") 
    .withInstanceId("instance-id") 
    .withTableId("table") 
    .build(); 
pipeline.apply(Read.<Result>from(CloudBigtableIO.read(config))) 
    .apply(ParDo.of(new Test())); 

FYI, я просто читать из Bigtable и просто подсчета строк, используя агрегатор в тесте DoFn.

static class Test extends DoFn<Result, Result> { 
    private static final long serialVersionUID = 0L; 
    private final Aggregator<Long, Long> rowCount = createAggregator("row_count", new Sum.SumLongFn()); 

    @Override 
    public void processElement(ProcessContext c) { 
     rowCount.addValue(1L); 
     c.output(c.element()); 
    } 
} 

Я просто следовал учебник по document потока данных, но это не удается. Может кто-нибудь мне помочь?

+1

Просто проверяя основы - в вашем фактическом коде вы заменили 'project-id',' instance-id' и 'table' на реальные значения, да? –

+1

Да. Конечно, я сделал :) –

+1

Это выглядит как ошибка в облачном bigtable клиенте. Я создал проблему github, чтобы отслеживать это: https://github.com/GoogleCloudPlatform/cloud-bigtable-client/issues/912 –

ответ

0

Первопричина была проблема зависимости:

Ранее наш файл сборки опущена эту зависимость:

compile 'io.netty:netty-tcnative-boringssl-static:1.1.33.Fork22' 

Сегодня я добавил зависимость и решить все вопросы. Я дважды проверял, что проблема возникает, когда у меня ее нет в файле сборки.

От https://github.com/GoogleCloudPlatform/cloud-bigtable-client/issues/912#issuecomment-249999380.

Смежные вопросы