参照org.apache.spark.examples包中的HBaseTest编写一个读取HBase表中数据转换为RDD的程序。
目标表中数据量为2494068条,但是使用newAPIHadoopRDD读进来的RDD.count后的结果为1440966。是何原因,为什么读入的数据集不完整?
代码如下:
import org.apache.hadoop.hbase.client.HBaseAdmin
import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor, TableName}
import org.apache.hadoop.hbase.mapreduce.TableInputFormatval conf = HBaseConfiguration.create()
conf.set(TableInputFormat.INPUT_TABLE, "protal")
conf.set("hbase.zookeeper.property.clientPort", "2181")
conf.set("hbase.zookeeper.quorum", "data6,data7,data8")val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result])hBaseRDD.count测试了两个表,表1中数据量为200余万条,数据总大小40G左右,表2中数据量为200余万条,数据总大小10G左右。
结果表1不能完整读入,表2就可以。
目标表中数据量为2494068条,但是使用newAPIHadoopRDD读进来的RDD.count后的结果为1440966。是何原因,为什么读入的数据集不完整?
代码如下:
import org.apache.hadoop.hbase.client.HBaseAdmin
import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor, TableName}
import org.apache.hadoop.hbase.mapreduce.TableInputFormatval conf = HBaseConfiguration.create()
conf.set(TableInputFormat.INPUT_TABLE, "protal")
conf.set("hbase.zookeeper.property.clientPort", "2181")
conf.set("hbase.zookeeper.quorum", "data6,data7,data8")val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result])hBaseRDD.count测试了两个表,表1中数据量为200余万条,数据总大小40G左右,表2中数据量为200余万条,数据总大小10G左右。
结果表1不能完整读入,表2就可以。
解决方案 »
- C# 对于含有中文名字的文件上传到swift不成功!!!!
- 华为fusionSphere虚拟化能力上头牌
- 华为云计算多媒体资料
- 目前做的项目有个需求,视频存在HDFS集群里面 ,然后red5服务器需要从中读取视频
- 新手求教fusioncompute如何使用curl调用其restful api
- remote-viewer usb-filter /--spice-usbredir-auto-redirect-filter 相关问题
- 哪里有Docker视频教程下载
- 请问如何使用DataFrame实现以下逻辑?
- 分布式存储如何池化 不解
- 非交互式创建mysql用户,大神指点一下哪儿错了找了好久,谢谢了
- AWS S3 使用的jar
- 急,求高手!!hive在向整合hbase的分区表插入数据时报错:Must specify table
你的Scan呢?没有设置Filter么?而且读出来的RDD<ImmutableBytesWritable,Result>不转成dataset么