sparksql连接hive中出现的错误

在使用SparkSQL连接Hive时遇到错误,原因是MySQL的jar包不兼容。解决方法是将Hive中的mysql.jar复制到Spark的jars目录下。然后通过SparkConf配置并创建SparkSession,建立Hive支持,创建并加载Hive表,处理数据,并将结果保存到新的Hive表中。最后,将项目打包,并通过Spark-submit命令提交到集群运行。
摘要由CSDN通过智能技术生成

在这里插入图片描述

解决方案:mysql的jar包不匹配,所以从hive中cp mysql.jar 进到spark的jars中
package com.cmd.spark

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

object Spark5 {
def main(args: Array[String]): Unit = {
//配置文件对象
val conf = new SparkConf().setAppName(“spark_hive”)
//2.得到对象HiveCOntext对象
val hiveContext = SparkSession.builder().config(conf).enableHiveSupport().getOrCreate()
// //3.创建hive表
val createSql = “create table if not exists t_student(id int,name String) row format delimited fields terminated by ‘,’”
hiveContext.sql(createSql)
//4.加载数据
val loadData = “load data local inpath ‘/student.log’ into table t_student”
hiveContext.sql(loadData)
//5.获取hive中的数据.放入SparkSql中DataFrame
val df:DataFrame = hiveContext.sql(“select * from t_student”)
//6.处理 求出
val resultd2 = df.where(“id>2”)
//7.Dataframe的DLF风格
resultd2.createOrReplaceTempView(“result01”)
hiveContext.sql(“create table if not exists tmp_student as select * from result01”)

}
}
打包

  1. 配置环境。把hive的配置文件赋值到spark配置文件中。
    

cp hive-site.xml

/usr/spark/spark-2.1.1-bin-hadoop2.7/conf/

hive.metastore.schema.verification false

提交到集群:

Spark-submit --master [local/spark/yarn] --class /jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值