/**
* 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. Android中px和dip的区别

    在Android手机的诞生之初,由于Android系统是开源的,一开始便有众多的OEM厂商对Android手机进行深度定制,于是乎Android手机的皮肤和屏幕大小都变得百花齐放,这可苦逼了我们这群开 ...

  2. [WinAPI] API 10 [创建、打开、读写文件,获取文件大小]

    在Windows系统中,创建和打开文件都是使用API函数CreateFile,CreateFile通过指定不同的参数来表示是新建一个文件,打开已经存在的文件,还是重新建立文件等.读写文件最为直接的方式 ...

  3. shiny server SparkR web展示界面(二)

    1.  需要先在Mac OS中安装好R,Rstudio中,这个比较简单,掠过 2. 下载编译好的spark(spark-2.0.0-bin-hadoop2.6.tgz)可以在Spark官网下载到你所需 ...

  4. 运用Mono.Ceci类库修改.NET程序集 走上破解软件的道路

    代码注入在C++时代很流行,主要是对现有的程序做一些修改,以达到预期的目的.一部分的破解程序,注册机也是借助于此方法,让被注入的程序绕过验证,达到破解的目录.在.NET中,借助于Mono.Cecil程 ...

  5. 推荐几款API文档集合工具

    https://zealdocs.org/    开源.免费,支持Linux.Windows http://velocity.silverlakesoftware.com/  https://kape ...

  6. 使用eclipse JDT compile class,解决 无法确定 X 的类型参数;对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最大实例

    ant 命令行方式执行build javac编译class出现 泛型无法转换 无法确定 <X>X 的类型参数:对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最 ...

  7. android 开发 简单的页面布局

    package com.example.test; import android.app.Activity; import android.os.Bundle; import android.view ...

  8. Windows KB2984972安装后堵住了一个windows 7 桌面可以多个用户远程访问桌面的漏洞。

    之前网络上有方法可以实现2个用户同时使用一个windows 7,一个在终端,一个通过远程桌面. 安装了这个kb后,就无法同时登陆了,同一时间只有一个用户可以登陆windows 7

  9. Vmware9.0打开早期版本报错:this virtual machine’s policies are too old to be run by this version of vmware workstation”

    VMWare从6.0升级到9.0,打开以前的虚拟机报错如下: “this virtual machine’s policies are too old to be run by this versio ...

  10. Hibernate不调用update却自动更新

    案例: TInfCustomer cus = (TInfCustomer) this.baseDao.getOne(helper); cus.setXXX cus .setXXX 不调用update也 ...