成都网站建设设计

将想法与焦点和您一起共享

sparksql与mysql数据怎么加载并导出数据到mysql

本篇内容主要讲解“spark sql与数据怎么加载并导出数据到mysql”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spark sql与mysql数据怎么加载并导出数据到mysql”吧!

本篇内容主要讲解“spark sql与数据怎么加载并导出数据到mysql”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spark sql与mysql数据怎么加载并导出数据到mysql”吧!

创新互联公司专注于鸡东网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供鸡东营销型网站建设,鸡东网站制作、鸡东网页设计、鸡东网站官网定制、微信小程序开发服务,打造鸡东网络公司原创品牌,更为您提供鸡东网站排名全网营销落地服务。

package hgs.spark.sqlimport org.apache.spark.SparkConfimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.sql.SQLContextimport org.apache.spark.sql.SQLImplicitsimport org.apache.spark.sql.types.StructTypeimport org.apache.spark.sql.types.StructFieldimport org.apache.spark.sql.types.StringTypeimport org.apache.spark.sql.types.IntegerTypeimport org.apache.spark.sql.Rowimport java.util.Properties//第一种方法创建dataframeobject SqlTest1 {  def main(args: Array[String]): Unit = {    val conf = new SparkConf().setAppName("sqltest1").setMaster("local")    val context = new SparkContext(conf)    val sqlContext = new SQLContext(context)        val rdd = context.textFile("d:\\person",1)    val rdd2 = rdd.map(x=>{val t = x.split(" ");person(t(0).toInt,t(1),t(2).toInt)})    val rdd3 = rdd.map(x=>{val t = x.split(" ");person(t(0).toInt,t(1),t(2).toInt)})    //第一种方法创建dataframe,在这里需要导入隐式转换    import sqlContext.implicits._          val persondf = rdd2.toDF()         val persondf3 = rdd3.toDF()           //这个方法在2.1.0里面被废除    //persondf.registerTempTable("person")    //使用该函数代替    persondf.createOrReplaceTempView("person")    persondf3.createOrReplaceTempView("person2")    val result = sqlContext.sql("select a.id ,b.name  from person a ,person2 b   where a.id = b.id")    //打印查询的结果    result.show()    //或者将结果保存到文件    //result.write.json("d://personselect")    val props =  new Properties();    props.put("user", "root")    props.put("password", "123456")     result.write.mode("append").jdbc("jdbc:mysql://192.168.6.133:3306/hgs", "person", props)   //result.write.mode(saveMode)    context.stop()  }}case class person(id:Int,name:String,age:Int)object sqlTest3{  def main(args: Array[String]): Unit = {    val conf = new SparkConf().setAppName("sqltest3").setMaster("local")    val context = new SparkContext(conf)    val sqlContext = new SQLContext(context)    val persontable = sqlContext.read.format("jdbc").option("url", "jdbc:mysql://192.168.6.133:3306/hgs")                                  .option("dbtable", "person")                                  .option("user", "root")                                  .option("password", "123456").load().createOrReplaceTempView("person")                                                      sqlContext.sql("select id,concat(name,\"xxx\") from person").show()    context.stop()  }}


文章题目:sparksql与mysql数据怎么加载并导出数据到mysql
分享网址:http://chengdu.cdxwcx.cn/article/jcji.html