在Spark Java API中从地图创建数据框

问题描述

我正在尝试在Java API中使用Spark sql,以下简单内容(从官方指南:https://spark.apache.org/docs/latest/rdd-programming-guide.html复制)不会使intelij感到满意。

它抱怨classtag东西,我不知道如何创建它或让它自动导入或其他东西。

        List<Integer> data = Arrays.asList(1,2,3,4,5);
        JavaRDD<Integer> distData = sc.parallelize(data);

我了解它要使用3个参数

public <T> RDD<T> parallelize(final Seq<T> seq,final int numSlices,final classtag<T> evidence$1) {

但是我怎么能得到这个evidence$1的东西? 官方示例也没有论点

请对此提供帮助。

解决方法

我决定研究官方指南附带的示例源代码。 并证明它需要创建java spark上下文 我从指南的源代码中使用了示例之后,就可以开始工作了。

import scala.Tuple2;
import org.apache.spark.api.java.JavaSparkContext;

List<Tuple2<String,String>> data =
        Arrays.asList(
                new Tuple2<>("key1","value1"),new Tuple2<>("key2","value2")
        );

JavaPairRDD<String,String> dataRdd = jsc.parallelizePairs(data);