Spark连接mysql、hive

Spark连接mysql

将mysql-connector包 导入spark/jars/ 路径内
在这里插入图片描述

利用idea工具连接

代码如下:

package nj.zb.kb11

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{DataFrame, SparkSession}

object DataFrameToMysql {
  def main(args: Array[String]): Unit = {
    val spark: SparkSession = SparkSession.builder().appName("sparktohive")
      .master("local[*]").config("hive.metastore.uris", "thrift://192.168.146.222:9083")
      .enableHiveSupport()   //连接必须的
      .getOrCreate()

    val url="jdbc:mysql://192.168.146.222:3306/emp"
    val user="root"
    val password="1"
    val properties = new java.util.Properties()
    properties.setProperty("user",user)
    properties.setProperty("password",password)
    properties.setProperty("driver","com.mysql.jdbc.Driver")

    val tableDF: DataFrame = spark.read.jdbc(url,"emp",properties)
    tableDF.printSchema()
    tableDF.show()

    import org.apache.spark.sql.functions._
    val frame: DataFrame = tableDF.agg(max("RETENTION"))
    frame.write.jdbc(url,"tttt",properties)


  }
}

Spark连接hive

配置文件

配置hive文件路径下,conf内的hive-site.xml文件,添加如下内容:

<property>
  <name>hive.server2.thrift.client.user</name>
  <value>root</value>
  <description>Username to use against thrift client</description>
</property>
<property>
  <name>hive.server2.thrift.client.password</name>
  <value>root</value>
  <description>Password to use against thrift client</description>
</property>
<property>
 <name>hive.metastore.uris</name>
 <value>thrift://192.168.168.222:9083</value>
</property>

保存退出后,将该文件拷贝一份到spark/conf/ 目录内

启动hive服务

nohup /opt/soft/hive/bin/hive --service metastore &     //启动hive元数据Metastore服务
nohup /opt/soft/hive/bin/hive --service hiveserver2 &    //启动hiveserver2  服务

通过idea工具连接

package nj.zb.kb11

import org.apache.spark.sql.SparkSession

//用spark读取hive数据
object SparkToHive {
  def main(args: Array[String]): Unit = {
    val spark: SparkSession = SparkSession.builder().appName("sparktohive")
      .master("local[*]").config("hive.metastore.uris", "thrift://192.168.146.222:9083")
      .enableHiveSupport()   //连接hive必须的
      .getOrCreate()
    spark.sql("show databases").collect().foreach(println)

  }
}

利用spark-shell连接

方法比较简单,配置文件完成后,直接输入命令就可以:

spark table("test.employee")

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值