• IDEA 中Spark SQL通过JDBC连接mysql数据库


    一.IDEA装驱动:

    1.下载一个MySQL的JDBC驱动:mysql-connector-java-5.1.44.tar.gz
    2.在idea Open Moudle Settings 在 Moudle中   选Dependencies + JDC驱动的解压位置 选(mysql-connector-java-5.1.44-bin)这个就ok

    二.程序:

    import java.util.Properties
    
    import com.sun.org.apache.xalan.internal.xsltc.compiler.util.IntType
    import org.apache.spark.sql.types._
    import org.apache.spark.sql.{Row, SparkSession}
    
    
    object JDBC_To_DF {
      val spark= SparkSession.builder().getOrCreate()
      import spark.implicits._
      def main(args: Array[String]): Unit = {
    
        val jdbcDF = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/***")  //*****这是数据库名
          .option("driver", "com.mysql.jdbc.Driver").option("dbtable", "****")//*****是表名
          .option("user", "*****").option("password", "*****").load()
        jdbcDF.show()
    
        val studentRDD=spark.sparkContext.parallelize(Array("3 小翠 G 27","4 小狗蛋 B 50"))
                          .map(x=>x.split(" "))
        val ROWRDD=studentRDD.map(x=>Row(x(0).toInt,x(1).trim,x(2).trim,x(3).toInt))
           ROWRDD.foreach(print)
        //设置模式信息
        val schema=StructType(List(StructField("id",IntegerType,true),StructField("name",StringType,true),StructField("gender",StringType,true),StructField("age", IntegerType, true)))
    
        val studentDF=spark.createDataFrame(ROWRDD,schema)
    
        val parameter=new Properties()
        parameter.put("user","****")
        parameter.put("password","****")
        parameter.put("driver","com.mysql.jdbc.Driver")
        studentDF.write.mode("append").jdbc("jdbc:mysql://localhost:3306/******","/*/*/*/*/*",parameter) //******"是数据库名,/*/*/*/*/*表名
       jdbcDF.show()
      }
    }

    结果:

    +---+----+------+---+
    | id|name|gender|age|
    +---+----+------+---+
    |  1|  小周|     B| 25|
    |  2|  小苏|     G| 27|
    |  3|  小翠|     G| 27|
    |  4| 小狗蛋|     B| 50|
    |  3|  小翠|     G| 27|
    |  4| 小狗蛋|     B| 50|
    +---+----+------+---+

  • 相关阅读:
    博客迁移至wordpress--http://i1994898w1.imwork.net/wordpress
    超外差接收机的中频选择
    The Basics of the Doherty Amplifier-Bill Slade [转载]
    闻灾情 忆国殇 山河呜咽 寄哀思
    Simplest Doppler Radar System
    开发人员的奋斗目标
    敏捷开发的推理
    在创业型软件公司的收获
    人才市场的IT职位分析
    MySQL 基础及性能优化工具
  • 原文地址:https://www.cnblogs.com/soyo/p/7660687.html
Copyright © 2020-2023  润新知