SparkSql整合Hive,使用idea运行,启动时报:"org.apache.spark.sql.hive.HiveSessionStateBuilder"

异常错误

java.lang.IllegalArgumentException: Error while instantiating ‘org.apache.spark.sql.hive.HiveSessionStateBuilder’:
在这里插入图片描述

原因

Could not locate executable null\bin\winutils.exe in the Hadoop binaries
在这里插入图片描述
出现这个问题的原因是我们在windows上模拟开发环境,但并没有真正的搭建hadoop和spark

解决方法

下载:https://pan.baidu.com/s/1J5LsROsx6K8C4FUEjBEIYw
提取码:vsj0
放到任意的目录下,我这里是放到了E:\vacation\wutils\bin
在这里插入图片描述
配置环境变量:
新建HADOOP_HOME:
在这里插入图片描述
编辑PATH
在这里插入图片描述
在重启电脑之后-----在运行代码

结果

package com.wzy.code

import org.apache.spark.sql.SparkSession

object HiveSupport {
  def main(args: Array[String]): Unit = {
    //创建sparkSession
    val spark = SparkSession
      .builder()
      .appName("HiveSupport")
      .master("local[*]")
      //.config("spark.sql.warehouse.dir", "hdfs://node01:8020/user/hive/warehouse")
      //.config("hive.metastore.uris", "thrift://node01:9083")
      .enableHiveSupport()//开启hive语法的支持
      .getOrCreate()
    spark.sparkContext.setLogLevel("WARN")

    //查看有哪些表
    spark.sql("show databases").show()
/*
    //创建表
    spark.sql("CREATE TABLE person (id int, name string, age int) row format delimited fields terminated by ' '")

    //加载数据,数据为当前SparkDemo项目目录下的person.txt(和src平级)
    spark.sql("LOAD DATA LOCAL INPATH 'SparkDemo/person.txt' INTO TABLE person")

    //查询数据
    spark.sql("select * from person ").show()*/

    spark.stop()
  }
}

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weixin_43563705

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

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

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

打赏作者

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

抵扣说明:

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

余额充值