1、SparkSession配置
SparkSession sparkSession = SparkSession.builder()
.appName("hive-mongo")
.master("local[*]")
.enableHiveSupport()
.config("spark.sql.hive.convertMetastoreOrc", false)
.config("spark.sql.legacy.hive.tmpTable", true)
.config("convertMetastoreParquet", false)
.config("spark.sql.debug.maxToStringFields", 1000)
//datasource用自己的mongo数据库
.config("spark.mongodb.output.uri", datasource)
//targetTable指的是需要处理的collection
.config("spark.mongodb.output.collection", targetTable)
.getOrCreate();
2、从hive取数据
//编写sql,
String sql = "select * from user";
//将sql利用sparkSession去取hive的数据
Dataset<Row> dataset = sparkSession.sql(sql);
3、数据存入mongodb
MongoSpark.save(dataset);
一个简单的spark从hive迁移数据到mongo就ok了。具体的数据在我们的mongodb库里面可以看到