Spark Java API:如何将JavaRDD转换为RDD类型

Spark Java API:如何将JavaRDD转换为RDD类型,java,apache-spark,apache-spark-sql,apache-spark-dataset,Java,Apache Spark,Apache Spark Sql,Apache Spark Dataset,我正在尝试将使用Dataframe编写的代码转换为DataSetAPI。 问题是我将JavaRDD创建为: final JavaRDD<String> abcJavaRdd= jsc.textFile("/path/to/textfile"); 上面代码的最后一行不起作用。 我想知道如何从“org.apache.spark.java.JavaRDD”类型创建“org.apache.spark.api.java.JavaRDD”类型 我在mapr集群上使用Java 1.8和apach

我正在尝试将使用
Dataframe
编写的代码转换为
DataSet
API。 问题是我将JavaRDD创建为:

final JavaRDD<String> abcJavaRdd= jsc.textFile("/path/to/textfile");
上面代码的最后一行不起作用。 我想知道如何从“
org.apache.spark.java.JavaRDD
”类型创建“
org.apache.spark.api.java.JavaRDD
”类型


我在mapr集群上使用Java 1.8和apache spark 1.6.1。

在深入研究API之后,我找到了答案

org.apache.spark.api.java.JavaRDD
类公开了一个静态方法,用于将
JavaRDD
类型的对象转换为
org.apache.spark.rdd.rdd
,该方法为
SQLContext
类的
createDataset
方法所接受

Encoder<Abc> abcEncoder= Encoders.bean(Abc.class);
Dataset<Abc> abcDataset= sqlc.createDataset(JavaRDD.toRDD(abcJavaRdd), abcEncoder);
编码器abcEncoder=Encoders.bean(Abc.class); 数据集abcDataset=sqlc.createDataset(JavaRDD.toRDD(abcJavaRdd),abcEncoder); 另一种方法是在
abcJavaRdd
上调用
rdd()
方法。i、 e.
abcjavard.rdd()

Encoder<Abc> abcEncoder= Encoders.bean(Abc.class);
Dataset<Abc> abcDataset= sqlc.createDataset(JavaRDD.toRDD(abcJavaRdd), abcEncoder);