十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“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() }}