我有一个csv文件..我使用Sql Context将其加载到程序中并上传了一个数据框。现在我想将此csv文件存储到mongodbCollection中。我无法将其转换为JavaPairedRDD。请帮助...
我的密码是...
import org.apache.hadoop.conf.Configuration;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SQLContext;
import org.apache.spark.sql.types.DataTypes;
import org.apache.spark.sql.types.Metadata;
import org.apache.spark.sql.types.StructField;
import org.apache.spark.sql.types.StructType;
import org.bson.BSONObject;
import org.apache.spark.api.java.JavaPairRDD;
import com.mongodb.hadoop.MongoOutputFormat;
public class CSVReader {
public static void main(String args[]){
SparkConf conf = new SparkConf().setAppName("sparkConnection").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
SQLContext sqlContext = new SQLContext(sc);
/* To load a csv file frol given location*/
DataFrame df = sqlContext.read()
.format("com.databricks.spark.csv")
.option("inferSchema", "true")//Automaticaaly infers the data
.option("header", "true")//To include the headers in dataframe
.load("D:/SparkFiles/abc.csv");
}
}
最佳答案
您显然没有足够的研究。
因为如果有的话,您会知道数据框不过是schema + rdd的组合。
假设您发布的代码工作正常,则可以从df中读取rdd作为df.rdd
关于java - 如何使用Apache Spark和Java库在mongoDB中保存数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36591928/