|
@@ -0,0 +1,44 @@
|
|
|
+package com.winhc.bigdata.spark.summary
|
|
|
+
|
|
|
+import com.mongodb.spark.MongoSpark
|
|
|
+import com.winhc.bigdata.spark.jobs.CompanyInfoCalculator.{LOG, prepare}
|
|
|
+import com.winhc.bigdata.spark.utils.SparkUtils
|
|
|
+import org.apache.commons.logging.LogFactory
|
|
|
+import org.apache.spark.sql.{SaveMode, SparkSession}
|
|
|
+import org.apache.spark.sql.SparkSession
|
|
|
+
|
|
|
+object ProbidCalculator {
|
|
|
+ private val LOG = LogFactory.getLog(this.getClass)
|
|
|
+
|
|
|
+ def main(args: Array[String]): Unit = {
|
|
|
+ val database = "itslaw"
|
|
|
+ val collection = "probid_commonpro"
|
|
|
+// val host = "dds-uf6ff5dfd9aef3641601-pub.mongodb.rds.aliyuncs.com:3717,dds-uf6ff5dfd9aef3642555-pub.mongodb.rds.aliyuncs.com:3717/itslaw?replicaSet=mgset-6501997"
|
|
|
+ val host = "dds-uf6ff5dfd9aef3641.mongodb.rds.aliyuncs.com:3717,dds-uf6ff5dfd9aef3642.mongodb.rds.aliyuncs.com:3717/itslaw?replicaSet=mgset-6501997"
|
|
|
+ val outPutUri = s"mongodb://itslaw:itslaw_168@$host"
|
|
|
+ val spark: SparkSession = SparkUtils.InitEnvRaw("ProbidCalculator")
|
|
|
+ .config("spark.mongodb.input.uri", outPutUri)
|
|
|
+ .config("spark.mongodb.input.collection", collection)
|
|
|
+ .config("spark.mongodb.output.uri", outPutUri)
|
|
|
+ .config("spark.mongodb.output.database",database)
|
|
|
+ .config("spark.mongodb.output.collection",collection)
|
|
|
+ .config("spark.hadoop.odps.cupid.smartnat.enable",true)
|
|
|
+ .getOrCreate()
|
|
|
+
|
|
|
+ LOG.info("probid calc start!")
|
|
|
+ println("probid calc start!")
|
|
|
+
|
|
|
+ val srcTableName = "ods_probid_commonpro_winbidding_companylist"
|
|
|
+
|
|
|
+ val df = spark.sql(s"SELECT company_id,company_name,SUM(winbidding_id) FROM ${srcTableName} GROUP BY company_id,company_name LIMIT 100".stripMargin)
|
|
|
+ MongoSpark.save(
|
|
|
+ df
|
|
|
+ .write
|
|
|
+ .mode(SaveMode.Append)
|
|
|
+ )
|
|
|
+
|
|
|
+ LOG.info("probid calc end!")
|
|
|
+ println("probid calc end!")
|
|
|
+ spark.stop();
|
|
|
+ }
|
|
|
+}
|