/**
* Created by songcl on 2016/6/24.
*/
import java.sql.DriverManager
//val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}
object insertmysql { def main(args:Array[String]): Unit = {
//classOf[com.mysql.jdbc.Driver]
// Class.forName("com.mysql.jdbc.Driver").newInstance();
val url = "jdbc:mysql://10.0.73.46:3306/falcon?user=data&password=datass"
val conf = new SparkConf().setAppName("Simple Application")//.setMaster("spark://10.0.58.21:7077")
val sc= new SparkContext(conf)
// val conn = DriverManager.getConnection(url)
// val conn2=DriverManager.getConnection(url)
val format = new java.text.SimpleDateFormat("yyyy/MM/dd")
val dat = format.format(new java.util.Date())
val log1 = sc.textFile("hdfs://10.0.58.21:9000/falcon/" + dat + "/*.log")
//val log1 =sc.textFile( "hdfs://10.0.58.21:9000/falcon/"+dat+"/*.log")
// println(log1.count())
//val sqlContext = new org.apache.spark.sql.SQLContext(sc1)
//val conf = new SparkConf().setAppName("Simple Application").setMaster("spark://10.0.58.21:7077")
// val sc = new SparkContext(conf)
// val log=sc.textFile(logFile)
//val t= log.take(2)
//val log1=sc.textFile("hdfs://10.0.58.21:9000/falcon/2016/*/*/*.log")
val format2 = new java.text.SimpleDateFormat("yyyyMMdd")
val dat2 = format2.format(new java.util.Date())
//val log2=sc1.textFile("hdfs://10.0.58.21:9000/user/yejin/logstash."+dat2+".log")
val log2 = sc.textFile("hdfs://10.0.58.21:9000/falcon/" + dat + "/*.log")
import sqlContext.implicits
val rowRDD=log2.map(line=>(line.split("\"message\":\"").last.split(" ").head.trim(),line.split("account: ").last.split(", args:").head)).filter({case(k,v) =>k.length==10 && !k.contains("TypeError:")}).filter({case(k,v)=>v.length==8}).distinct
//import sqlContext.implicits
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
val df=rowRDD.toDF("created","user_id")
df.insertIntoJDBC(url,"userlog",false)
//println(log2.count())
}}

参考链接

 http://www.jianshu.com/p/b1a709a57faa

提交包,前提是要配置环境变量

export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/spark/mysql/mysql.jar

spark-submit  --class insertmysql /home/deploy/mysqltest.jar

spark MySQL jar 包的更多相关文章

  1. MySql Jar 包下载

    MySql JAR 包下载 我们要使用Spring 链接MySql  需要两个Jar 包   一个是C3p0   一个是MySql 的Connection Jar  包 C3p0: 进入下面的网址 h ...

  2. 关于eclipse连接mysql jar包

    步骤如下: 右键工程--选择build path -- add  Libraries. 弹出框选user library,点击next. 弹出框点击add libraries . 继续点击new ,输 ...

  3. Spark&Hadoop:scala编写spark任务jar包,运行无法识别main函数,怎么办?

    昨晚和同事一起看一个scala写的程序,程序都写完了,且在idea上debug运行是ok的.但我们不能调试的方式部署在客户机器上,于是打包吧.打包时,我们是采用把外部引入的五个包(spark-asse ...

  4. spark提交jar包时出现unsupported major.minor version 52.0错误的解决方案

    一.问题: 最近在spark集群上做一个项目,打包提交jar包时,出现了unsupported major.minor version 52.0的报错,而在local模式运行却能正常运行! 二.错误原 ...

  5. Spark进阶之路-Spark提交Jar包执行

    Spark进阶之路-Spark提交Jar包执行 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际开发中,使用spark-submit提交jar包是很常见的方式,因为用spark ...

  6. Mysql jar包

    密码cngb https://pan.baidu.com/share/init?surl=bSGA6T-LTwjx-qaNAiipCA

  7. Springboot(2.0.0.RELEASE)+spark(2.1.0)框架整合到jar包成功发布(原创)!!!

    一.前言 首先说明一下,这个框架的整合可能对大神来说十分容易,但是对我来说十分不易,踩了不少坑.虽然整合的时间不长,但是值得来纪念下!!!我个人开发工具比较喜欢IDEA,创建的springboot的j ...

  8. java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver 找不到jar包的问题,路径问题

    1.参考连接: https://blog.csdn.net/huangbiao86/article/details/6428608 折腾了一上午,找到了这错误的原因.哎……悲剧! 确认包已经被导入we ...

  9. java web mysql.jar java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 折腾了一上午,找到了这错误的原因.哎……悲剧! 确认包已经被导入web工程目录. 原来是 ...

随机推荐

  1. [游戏模版10] Win32 平面地图贴图 正

    >_<:picture resource >_<:If you master the ways of mapping picture,then this problem is ...

  2. EF结合三层:三层中数据层父类和业务层父类的使用

    今天我们主要讨论下数据层父类和业务层父类的使用.众所周知,数据层无非就是实现增删改查的方法.无论是哪个实体类,无非就是为了实现增删改查方法,所有我们在三层的DAL层封装了一个BaseDAL类,来做增删 ...

  3. JS原型链简单图解

    JS中原型链,说简单也简单. 首先明确: 函数(Function)才有prototype属性,对象(除Object)拥有__proto__. 首先,我画了一张图. 所谓原型链,指的就是图中的proto ...

  4. 深入理解javascript事件流

    摘要:事件流这个东西是比较重要的,为了让自己更加理解js中的事件流,必须整理整理,梳理一下事件流的各种东西啊.本文大部分内容参考<javascript高级程序设计第三版> 先来一段书里的原 ...

  5. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)

    最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的“原图”等,此时尝试学习Phantomjs和CasperJS来解决这个问题 ...

  6. Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结

    Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driv ...

  7. Atitit.现实生活中最好使用的排序方法-----ati排序法总结

    Atitit.现实生活中最好使用的排序方法-----ati排序法总结 1. 现在的问题 1 2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置  )//归并排序//基数排 ...

  8. TF Boys (TensorFlow Boys ) 养成记(一)

    本资料是在Ubuntu14.0.4版本下进行,用来进行图像处理,所以只介绍关于图像处理部分的内容,并且默认TensorFlow已经配置好,如果没有配置好,请参考官方文档配置安装,推荐用pip安装.关于 ...

  9. 用自己的算法实现startsWith和endsWith功能

    package hanqi; import java.util.Random; import java.util.Scanner; public class zuoye { public static ...

  10. 攻城利器 —— Carthage简单介绍

    01 Carthage简单介绍 主页:https://github.com/Carthage/Carthage.git 作者:Justin Spahr-Summers等 版本:0.18 目标:用最简单 ...