微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sparksql读取hive表中数据


文章目录


spark sql与hive本地调试

将hive-site.xml文件拷贝到resource目录中

pom.xml

  org.apache.sparkspark-hive_2.111.6.0

代码

import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.{SparkConf, SparkContext}

object SparksqlTest {

  def main(args: Array[String]): Unit = {
    val sparkconf = new SparkConf().setAppName("Hivesql").setMaster("local[*]")
    val sc = new SparkContext(sparkconf);
    val hiveContext = new HiveContext(sc)
    hiveContext.sql("select * from person1").show()
    sc.stop()

  }
}

new HiveContext空指针异常

报错 空指针异常,错误点在 new HiveContext()处

java.lang.NoClassDefFoundError - org/apache/spark/sql/hive/HiveContext

解决方法:将hadoop的源码包下载,解压到本地,在环境变量中配置HADOOP_HOME,

并将winutils.exe等一系列文件拷贝到源码中的bin目录中

权限: 异常

/tmp/hive on HDFS should be writable. Current permissions are: rwx–x--x

linux下笔者使用了hadoop命令

hadoop fs -chmod -R 777 /tmp

Windows下进入hadoop源码目录的bin目录下,搜索栏中敲cmd,然后执行

D:\software\hadoop-2.6.5\bin>winutils.exe chmod -R 777  D:/tmp

执行select查询的时候找不到host

java.net.UnkNownHostException

将hdfs-site.xml文件拷贝进resource目录下,运行程序还是报错,笔者很生气,关闭idea,重启了下,好了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐