Commit 1ec526a7 authored by 高雅喆's avatar 高雅喆

add GetDevicePortrait

parent 0506bc69
...@@ -558,7 +558,7 @@ object GetDevicePortrait { ...@@ -558,7 +558,7 @@ object GetDevicePortrait {
| on COALESCE(a.params['diary_id'], a.params['business_id'], 0) = b.diary_id | on COALESCE(a.params['diary_id'], a.params['business_id'], 0) = b.diary_id
| where | where
| b.level1_ids is not null and | b.level1_ids is not null and
| a.partition_date = '20181224' | a.partition_date = '${stat_date}'
| and (a.action = 'on_click_diary_card' or (a.action="full_stack_click_video_card_full_screen_play" and a.params["card_type"]="diary"))) c | and (a.action = 'on_click_diary_card' or (a.action="full_stack_click_video_card_full_screen_play" and a.params["card_type"]="diary"))) c
|group by c.device_id,c.level1_id,c.stat_date |group by c.device_id,c.level1_id,c.stat_date
""".stripMargin """.stripMargin
......
...@@ -3,11 +3,12 @@ package com.gmei ...@@ -3,11 +3,12 @@ package com.gmei
import java.util.Properties import java.util.Properties
import java.io.Serializable import java.io.Serializable
import java.sql.{Connection, DriverManager}
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.{Calendar} import java.util.Calendar
import com.typesafe.config._ import com.typesafe.config._
import org.apache.spark.{SparkConf,SparkContext} import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions import org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions
import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession} import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}
...@@ -77,6 +78,28 @@ object GmeiConfig extends Serializable { ...@@ -77,6 +78,28 @@ object GmeiConfig extends Serializable {
} }
def updateDeviceFeat(iterator: Iterator[(String,String,String,String)]): Unit ={
var conn: Connection= null
var ps:java.sql.PreparedStatement=null
val sql=s"replace into device_feat(device_id,stat_date,level1_id,level1_count) values(?,?,?,?)"
conn=DriverManager.getConnection("jdbc:mysql://10.66.157.22:4000/jerry_prod","root","3SYz54LS9#^9sBvC")
ps = conn.prepareStatement(sql)
try{
iterator.foreach(x => {
ps.setString(1,x._1)
ps.setString(2,x._2)
ps.setString(3,x._3)
ps.setString(4,x._4)
ps.executeUpdate()
})
println("update device feat done")
}catch {
case _ => println("update failed")
}
}
def getMinusNDate(n: Int):String={ def getMinusNDate(n: Int):String={
var dateFormat:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd") var dateFormat:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
var cal:Calendar=Calendar.getInstance() var cal:Calendar=Calendar.getInstance()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment