spark container日志

支持mysql的,下面是示例sparkstreaming使用数据源方式插入mysql数据importjava.sql.{Connection,ResultSet}importcom.jolbox.bonecp.{BoneCP,BoneCPConfig}importorg.slf4j.LoggerFactoryobjectConnectionPool{vallogger=LoggerFactory.getLogger(this.getClass)privatevalconnectionPool={try{Class.forName("com.mysql.jdbc.Driver")valconfig=newBoneCPConfig()config.setJdbcUrl("jdbc:mysql://192.168.0.46:3306/test")config.setUsername("test")config.setPassword("test")config.setMinConnectionsPerPartition(2)config.setMaxConnectionsPerPartition(5)config.setPartitionCount(3)config.setCloseConnectionWatch(true)config.setLogStatementsEnabled(true)Some(newBoneCP(config))}catch{caseexception:Exception=>logger.warn("Errorincreationofconnectionpool"+exception.printStackTrace())None}}defgetConnection:Option[Connection]={connectionPoolmatch{caseSome(connPool)=>Some(connPool.getConnection)caseNone=>None}}defcloseConnection(connection:Connection):Unit={if(!connection.isClosed)connection.close()}}importjava.sql.{Connection,DriverManager,PreparedStatement}importorg.apache.spark.streaming.kafka.KafkaUtilsimportorg.apache.spark.streaming.{Seconds,StreamingContext}importorg.apache.spark.{SparkConf,SparkContext}importorg.slf4j.LoggerFactory/***记录最近五秒钟的数据*/objectRealtimeCount1{caseclassLoging(vtime:Long,muid:String,uid:String,ucp:String,category:String,autoSid:Int,dealerId:String,tuanId:String,newsId:String)caseclassRecord(vtime:Long,muid:String,uid:String,item:String,types:String)vallogger=LoggerFactory.getLogger(this.getClass)defmain(args:Array[String]){valargc=newArray[String](4)argc(0)="10.0.0.37"argc(1)="test-1"argc(2)="test22"argc(3)="1"valArray(zkQuorum,group,topics,numThreads)=argcvalsparkConf=newSparkConf().setAppName("RealtimeCount").setMaster("local[2]")valsc=newSparkContext(sparkConf)valssc=newStreamingContext(sc,Seconds(5))valtopicMap=topics.split(",").map((_,numThreads.toInt)).toMapvallines=KafkaUtils.createStream(ssc,zkQuorum,group,topicMap).map(x=>x._2)valsql="insertintologing_realtime1(vtime,muid,uid,item,category)values(?,?,?,?,?)"valtmpdf=lines.map(_.split("\t")).map(x=>Loging(x(9).toLong,x(1),x(0),x(3),x(25),x(18).toInt,x(29),x(30),x(28))).filter(x=>(x.muid!=null&&!x.muid.equals("null")&&!("").equals(x.muid))).map(x=>Record(x.vtime,x.muid,x.uid,getItem(x.category,x.ucp,x.newsId,x.autoSid.toInt,x.dealerId,x.tuanId),getType(x.category,x.ucp,x.newsId,x.autoSid.toInt,x.dealerId,x.tuanId)))tmpdf.filter(x=>x.types!=null).foreachRDD{rdd=>//rdd.foreach(println)rdd.foreachPartition(partitionRecords=>{valconnection=ConnectionPool.getConnection.getOrElse(null)if(connection!=null){partitionRecords.foreach(record=>process(connection,sql,record))ConnectionPool.closeConnection(connection)}})}ssc.start()ssc.awaitTermination()}defgetItem(category:String,ucp:String,newsId:String,autoSid:Int,dealerId:String,tuanId:String):String={if(category!=null&&!category.equals("null")){valpattern=""valmatcher=ucp.matches(pattern)if(matcher){ucp.substring(33,42)}else{null}}elseif(autoSid!=0){autoSid.toString}elseif(dealerId!=null&&!dealerId.equals("null")){dealerId}elseif(tuanId!=null&&!tuanId.equals("null")){tuanId}else{null}}defgetType(category:String,ucp:String,newsId:String,autoSid:Int,dealerId:String,tuanId:String):String={if(category!=null&&!category.equals("null")){valpattern="100000726;100000730;\\d{9};\\d{9}"valmatcher=category.matches(pattern)valpattern1=""valmatcher1=ucp.matches(pattern1)if(matcher1&&matcher){"nv"}elseif(newsId!=null&&!newsId.equals("null")&&matcher1){"ns"}elseif(matcher1){"ne"}else{null}}elseif(autoSid!=0){"as"}elseif(dealerId!=null&&!dealerId.equals("null")){"di"}elseif(tuanId!=null&&!tuanId.equals("null")){"ti"}else{null}}defprocess(conn:Connection,sql:String,data:Record):Unit={try{valps:PreparedStatement=conn.prepareStatement(sql)ps.setLong(1,data.vtime)ps.setString(2,data.muid)ps.setString(3,data.uid)ps.setString(4,data.item)ps.setString(5,data.types)ps.executeUpdate()}catch{caseexception:Exception=>logger.warn("Errorinexecutionofquery"+exception.printStackTrace())}}}
喜欢阅读
  • 风光下的不归路

    风光下的不归路

    狱中产子,却听到夭折噩耗。呵……全拜恶毒后母所赐。自己“好姐姐”更是抢了自己的未婚夫还倒打一耙。面对夺自己家业,扼杀自己骨肉之人,出狱之后,她洛烟必定千倍百倍讨还回来。唔……意外救了软萌包子一枚,万万没想到……软萌包子他爹去找上门来了。“席少,听说……XX最近在找亚洲代言人。”“我已经安排人内定了,是你。”“……”“席少,那个啥……其实……你不用跟导演打招呼关照我的……咳咳,其实我觉得今天过的那条,可以再拍一次。”“是嘛?他被开除了,从今以后,你是导演。”“……”“席少……我要努力拍戏……证明自己。”“下一届金马影后是你的了。”洛烟:“……”“不够?下下届也是……”洛烟:“……”“嗯,这样吧,我决定委身去做评委……每一年只要你想都是你的。”……“席少,都说无奸不商,你对我那么好,是不是有什么企图?”“嗯,嫁给我……”洛烟:“……”

  • 撩妻难弃

    撩妻难弃

    他是我丈夫的顶头上司,却是我的裙下臣子。睡他的目的只有一个:报复!一夜情迷,我成了这个男人的笼中鸟。给我的丈夫大大扣上一顶绿帽。

  • 我带男神去快穿

    我带男神去快穿

    一次偶然间,江浅来到了一处陌生的异度空间。在这里,江浅遇到了一个穿越系统,并得知必须要帮助各个故事中的女配达成心愿,才能回到现实世界。然而就在江浅穿越的同时,她暗恋了多年的楚深学长,竟也穿越了……

  • 总裁的蜜宠逃妻

    总裁的蜜宠逃妻

    被人下药,完好无损地在他床上过了一夜,云初月以为封竞宸不行,把他当成姐妹。谁成想,好姐妹突然化身成狼,把她从里到外吃干抹净。云初月揉着腰,打包萌宝离家出走。“老婆,你想拐着我的儿子去哪里?”萌宝往身前一拦。“这是我未来的老婆,爸爸,你不能和我抢!”封竞宸、云初月:……封爷:人生最大的乐趣,宠妻宠妻宠妻!初月:人生最大的乐趣,在封爷的宠爱支持下,虐渣虐渣虐渣渣!

  • 魔灵圣传

    魔灵圣传

    这是一部有点“传统”的奇幻小说。由三个个性鲜明的主角,以及神奇的世界架构组成。不停追寻更强的叶行风、好色的百事通任逍遥、还有反应迟钝但是行踪诡异的萧枫。三个奇怪的高中生都有着奇怪的名字,以及奇怪的经历。而他们,即将遭遇奇怪的宿命!

  • 至强狂龙

    至强狂龙

    特种兵王回归都市,本想忘掉过去过普通人的生活,却因意外救下了一个轻生的美女,从此改变了人生轨迹。
    从那以后,美丽校花,总裁,高冷女警,各路美女纷纷走进了他的生活。杨林:我的,我的,都是我的。

  • 我为君王

    我为君王

    五年前,养父一家垂涎他的公司,将他陷害入狱,同样被害的儿时玩伴却信任了他。五年后,他高居北境之巅,封号九州战神,挥手间覆灭一城。他回来了,有人要下跪颤抖,有人要因他辉煌……

  • 傻妃不为后

    傻妃不为后

    桃花树下,男子坐在大石头上吹着萧,真美,眉目如画,白衣胜雪,真美。方红袖一时看呆了,和他目光交汇时,似乎他也不知道她会出现在这儿,呆了一下,突的笑了。冷夕颜一时间看呆了,似乎在很久以前,也有这么一个惊艳的男子在她身边。方红袖选择了树下坐着,听着他吹箫,双目凝凝有神,听的入迷。桃花落英缤纷下,男子和女子,都是那么美好,可谁能想到,他们之前,却是那么受尽折磨。冷夕颜闭眸,想起梦中的那副情景,真美,没想到,那人就在她身边。方红袖看着他,似乎从眸的深处。看见了他们似曾相识。冷夕颜,风绝尘,三生三世,不离不弃。

  • 猜你喜欢
    热门推荐
  • 女雪地靴新款
  • 户口本主页
  • 广州到江西的高铁
  • 葫芦侠三楼
  • axure rp微信原型
  • bj1040v9aa5 s
  • itunes账单如何查询
  • www.360房车
  • java如何及时回收对象
  • 比亚迪 自动泊车
  • csgo翻硬币在哪翻
  • miercat 照片
  • 现代名图大灯怎么调
  • 会计帐薄
  • 胜者为王妮可尔基德曼
  • orchid flower water
  • jalapskxamrka
  • 头号炮灰综 全文阅读
  • 射频tc是什么意思
  • 陈学冬 解密
  • All Right Reserved 安福网