本帖最后由 yisun123456 于 2017-10-17 16:23 编辑
4台集群下,spark on yarn, 3 千万mongodb数据 慢死 估计1小时 什么原因啊 前辈们 如何使用sparkSQL(spark)快速 处理mongodb数据啊,急求
object ConnMongo03 {
def main(args: Array[String]): Unit = {
val t1 = System.currentTimeMillis()
// 1. 创建SparkContext -> spark 入口
val conf = new SparkConf()
//.setMaster("local")
.setAppName("ConnMongo03")
.set("spark.mongodb.input.uri", "mongodb://xxxxxxxxxxxx")
.set("spark.mongodb.output.uri", "mongodb://xxxxxxxxxxxxxx")
val sc = new SparkContext(conf)
// 2. 创建SQLContext
val sqlContext = SQLContext.getOrCreate(sc)
// 3. 使用MongoSpark创建Dataframe
val df = MongoSpark.load(sqlContext)
val data = df.rdd.sortBy(x=>x.getString(11)).map(doc =>
(doc.getString(1), doc.getString(6) + "_" + doc.getString(4) + "_" + doc.getString(11))
)
).reduceByKey(_ + ";" + _)
val t2 = System.currentTimeMillis()
println((t2-t1)+"ms")
}
}
|
|