spark 链接mysql/SQLServer数据库的pom文件依赖以及代码

本文提供使用Apache Spark连接并读取SQLServer及MySQL数据库的具体代码示例,并展示了如何配置pom文件来添加对应的数据库驱动依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pom文件依赖:

        <!--sqlserver数据库访问-->
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>7.0.0.jre8</version>
            <!--<scope>provided</scope>-->
        </dependency>
        <!--mysql数据库访问-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
           <!--<scope>provided</scope>-->
        </dependency>

链接SQLServer具体代码:

package com.lenovo.sqlserver

import org.apache.spark.sql.SparkSession

object ServerShipment {
  def main(args: Array[String]): Unit = {
    val ss = SparkSession
      .builder()
      .appName("ServerShipment")
      .master("yarn")
      //.config("spark.sql.warehouse.dir", "file:///D://lenovo_pj//cpp//cpp")
      //.enableHiveSupport()
      .getOrCreate()

    //sqlserver数据链接参数定义
    val driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    val url    = "jdbc:sqlserver://10.100.50.252:1433;DatabaseName=FF_GSC;" +
      "useUnicode=true&characterEncoding=UTF-8"
    val user   = "xxx"
    val pwd   = "xxx"
    val table  = "xxxxxx"

    //加载sqlserver数据库数据
    ss.read
      .format("jdbc")
      .option("driver",driver)
      .option("url",url)
      .option("user",user)
      .option("password",pwd)
      .option("dbtable",table)
      .load()
      .createOrReplaceTempView("Server_Shipment")
      .show()
      
    ss.stop()
  }
}

链接mysql具体代码:

package com.lenovo.tree
import org.apache.spark.sql.SparkSession
object LabelTreeRefresh {
  def main(args: Array[String]): Unit = {
    val ss = SparkSession
      .builder()
      .appName("LabelTreeRefresh")
      .master("local")
      //.config("spark.sql.warehouse.dir", "file:///D://lenovo_pj//cpp//cpp")
      .getOrCreate()
      
     val url      = "jdbc:mysql://10.96.91.186:3306/lenovo_channel_persona?      rewriteBatchedStatements=true&" +
                    "useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"
     val driver   = "com.mysql.jdbc.Driver"
     val user     = "xxx"
     val password = "xxx"
    /**
      * 加载标签数据配置表数据(cpp_label_tree_refresh_config)
      */
    val refresh_config = "cpp_label_tree_refresh_config"
    ss.read
      .format("jdbc")
      .option("url",url).option("driver",driver)
      .option("user",user).option("password",password)
      .option("dbtable",refresh_config)
      .load()
      .createOrReplaceTempView("cpp_label_tree_refresh_config")
      .show()
      
    ss.stop()
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会飞的乌龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值