我正在使用partitionBy()在Sprk中进行散列分区。但是这个API在RDD类中不可用。但是它显示无法解析partitionBy()。我在独立机器上运行而Spark核心版本是1.2。
import org.apache.spark.{HashPartitioner, SparkConf, SparkContext}
val sparkConf=new SparkConf();
sparkConf.setAppName("ReduceTest");
sparkConf.setMaster("local[2]");
val sparkContext=new SparkContext(sparkConf);
val testrdd = sparkContext.parallelize[Int](List(1,2,3,4,6,8,4,5,6));
testrdd.partitionBy(new HashPartitioner(100))
答案 0 :(得分:1)
partitionBy
方法仅在RDD[(K, V)]
(通常称为PairRDD
)上定义,其中第一个元素被视为键并用于分区。所以这里的问题不是缺少API而是你的数据。