Spark对接Hive

10 篇文章 0 订阅

我们要使用spark对接hive,首先要把hive-site.xml拷贝到$SPARK_HOME/conf下,接下来我们测试一下
使用spark-shell测试:

./bin/spark-shell --master local[2] --jars ~/software/mysql-connector-java-5.1.27-bin.jar 

–master指定运行模式
-jars 由于我们要连接mysql(hive元数据信息存在mysql里)所以要引入mysql-connector-java

测试:
在这里插入图片描述
这样就算对接上了
我们再测试一下使用spark-sql进行对接

./bin/spark-sql local[2] --jars ~/software/mysql-connector-java-5.1.27-bin.jar --driver-class-path ~/software/mysql-connector-java-5.1.27-bin.jar
注意,使用spark-sql连接时,还得使用driver-class-path指定driver端的依赖

测试:
在这里插入图片描述

1.Spark连接Hive

需求:读取mysql中spark.a表的数据并写入到hive

def main(args: Array[String]): Unit = {
	//创建SparkSession
    val spark: SparkSession = SparkSession.builder().master("local").appName("HiveSourceApp")
    	//一定要开启,不然无法访问Hive
      .enableHiveSupport() 
      .getOrCreate()
	
	//隐式转换
    import spark.implicits._
	
	//定义一个Properties,放置用户名密码以访问mysql
    val connectionProperties = new Properties()
    connectionProperties.put("user", "root")
    connectionProperties.put("password", "root")
    //访问mysql的url
    val url = "jdbc:mysql://192.168.0.133"

	//读取表
    val df: DataFrame = spark.read.jdbc(url, "spark.a", connectionProperties)
	//写入表
    df.write.mode("append").saveAsTable("sparka")

    spark.stop()

  }

运行完成,我们到hive里看一下
运行完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值