dataproc spark作业无法扫描bigtable中的记录

mklgxw1f  于 2021-06-08  发布在  Hbase
关注(0)|答案(1)|浏览(371)

我们使用newapihadooprdd扫描bigtable并在rdd中添加记录。对于一个较小的(比如少于10万条记录)bigtable,使用newapihadooprdd填充rdd。但是,它无法将记录从更大的(比如6m个记录)bigtable加载到rdd中。

SparkConf sparkConf = new SparkConf().setAppName("mc-bigtable-sample-scan")
JavaSparkContext jsc = new JavaSparkContext(sparkConf);

Configuration hbaseConf = HBaseConfiguration.create();
hbaseConf.set(TableInputFormat.INPUT_TABLE, "listings");
Scan scan = new Scan();
scan.addColumn(COLUMN_FAMILY_BASE, COLUMN_COL1);
hbaseConf.set(TableInputFormat.SCAN, TableMapReduceUtil.convertScanToString(scan));
JavaPairRDD<ImmutableBytesWritable, Result> source = jsc.newAPIHadoopRDD(hbaseConf, TableInputFormat.class,
            ImmutableBytesWritable.class, Result.class);
System.out.println("source count " + source.count());

对于较小的表,计数正确显示。但对于较大的表,它显示为零。
尝试了许多不同的配置选项,如增加驱动程序内存、执行器数量、工作进程数量,但都不起作用。
有人能帮忙吗?

pftdvrlh

pftdvrlh1#

我的错。在我的代码中发现了问题。我试图扫描的列\u col1在较大的bigtable中不可用,因此我的计数显示为0。

相关问题