2016-05-05 7 views
2

Wenn ich mitFunke: eine RDD von HBase Daten erstellt Partitionieren

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

die resultierenden RDD hat 1 Partition einige Daten aus einem HBase (oder MapR-DB) Tabelle lesen, wie ich Aufruf usersRDD.partitions().size() sehen kann. Das Verwenden von etwas wie usersRDD.repartition(10) ist nicht praktikabel, da sich Spark beschwert, weil ImmutableBytesWritable nicht serialisierbar ist.

Gibt es eine Möglichkeit, Spark zu veranlassen, eine partitionierte RDD aus HBase-Daten zu erstellen?

Antwort

0

Die Anzahl der Spark-Partitionen bei der Verwendung von hängt von der Anzahl der Regionen der HBase-Tabelle ab - in Ihrem Fall ist es 1 (Standard). Weitere Informationen finden Sie unter my answer to a similar question.