需要在pom.xml中加入
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency>
demo代码:
-
import java.sql.{DriverManager, ResultSet} import org.apache.spark.sql.SparkSession import org.apache.spark.{SparkConf, SparkContext} import scala.collection.mutable.ArrayBuffer object SparkTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .master("local[2]") .appName("example") .config("spark.sql.warehouse.dir", "file:///e:/tmp/spark-warehouse") .getOrCreate() import spark.implicits._ val jdbcDF = spark.read.format("jdbc") .option("url","jdbc:sqlserver://ip:1433/data_ls") .option("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver") .option("dbtable","tableName") .option("user","root") .option("password","root") .load() jdbcDF.show() } }
虚拟机搭建centos7,为后面用cdh搭建集群做准备。centos7配置静态IP步骤:
1.cd /etc/sysconfig/network-scripts,修改网卡配置文件:vi ifcfg-ens33:
开始默认配置如下:
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="157c8fb5-23b3-414c-8519-25bef9b20a54"
DEVICE="ens33"
ONBOOT="no"
需要修改为:
TYPE="Ethernet" #BOOTPROTO="dhcp" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" NAME="eno16777736" UUID="157c8fb5-23b3-414c-8519-25bef9b20a54" DEVICE="ens33" #static assignment NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理 ONBOOT=yes #开机启动 BOOTPROTO=static #静态IP DNS1=8.8.8.8 DNS2=8.8.4.4 IPADDR=192.168.210.20 #本机地址 NETMASK=255.255.255.0 #子网掩码 GATEWAY=192.168.210.2 #默认网关
最后三个参数如图配置:
然后重启服务即可
service network restart