繁体   English   中英

Spark:对从 HBase 数据创建的 RDD 进行分区

[英]Spark: Partitioning an RDD created from HBase data

如果我从 HBase(或 MapR-DB)表中读取一些数据

JavaPairRDD<ImmutableBytesWritable, Result> usersRDD = sc.newAPIHadoopRDD(hbaseConf, TableInputFormat.class, ImmutableBytesWritable.class, Result.class);

生成的 RDD 有 1 个分区,我可以看到调用usersRDD.partitions().size() 使用像usersRDD.repartition(10)这样的东西是不可行的,因为 Spark 抱怨说因为 ImmutableBytesWritable 是不可序列化的。

有没有办法让 Spark 从 HBase 数据创建一个分区的 RDD?

使用org.apache.hadoop.hbase.mapreduce.TableInputFormat时的 Spark 分区数取决于 HBase 表的区域数 - 在您的情况下为 1(默认值)。 有关更多详细信息,请查看我对类似问题的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM