HDP Spark2 HIVE3.1 的问题
HDP 上安装了 Hive3.1 和 Spark2, 提交 Spark 作业时,报找不到 Hive 中表的问题

但是查一了下 hive 表,明明是存在这个表的。查看日志,注意到如下的一段日志。

没修改值之前,我在 Spark-shell 里创建了一张 hive 表,发现其创建的位置是 spark.sql.warehouse.dir 指向的目录,不在 hive.metastore.warehouse.dir 目录里 (其实这个值在 hive 中的配置,但是 spark 的 conf 下的目录里没有配置)。我在 spark 的 conf 目录里增加了 hive.metastore.warehouse.dir 的值,使其与 hive 中配置的值一样。可是我修改后,在 spark-shell 里查寻表时,依然显示是刚才创建的表。我把 spark.sql.warehouse.dir 的值也改成 hive.metastore.warehouse.dir 的值,仍然如此。
网上的另外几种方法:
1. 把 hive-site.xml 复制到 Spark 的 conf 目录下。
我看了一下 spark 的 conf 目录,有 hive-site.xml 这个表的,而且从日志中也可以看到 spark 能找到 hive 的 thrift://datacenter2:9083 这个地址,说明没问题。
2. 创建 spark session 的时候要启用 hive。
val ss = SparkSession.builder().appName("统计").enableHiveSupport().getOrCreate()
我的程序里有启用的,所以也不是原因。
3. 关闭 Hive 3 中的默认的 ACID 功能,修改如下几个参数
hive.strict.managed.tables=false
hive.create.as.insert.only=false
metastore.create.as.acid=false
试过之后,问题依旧。
崩溃了,找不到其它解决方法了。先记录一下。
================================================
有别的事,先做别的了。过了2天,抱着试试看的态度,在 /etc/spark2/3.1.0.0-78/0 下建了个软链接到 /etc/hive/conf 下的 hive-site.xml ,竟然找得到表了。通过比较,发现原 spark 下的 hive-site.xml 里多了一个 metastore.catalog.default 的配置,值是 spark。在网上搜了一下,才知道要改成 hive 才可以读 hive 下创建的表。这个值我理解的是表示hive仓库的命名空间。为什么 Spark 没有默认设置成 hive 的 catalog 的呢? 因为 HDP 3.1 中的 hive 会默认开启 ACID,spark 读取 ACID 的 表时,会出错,所以设置了一个 spark 的 catalog。
HDP Spark2 HIVE3.1 的问题的更多相关文章
- Ambari HDP 下 SPARK2 与 Phoenix 整合
1.环境说明 操作系统 CentOS Linux release 7.4.1708 (Core) Ambari 2.6.x HDP 2.6.3.0 Spark 2.x Phoenix 4.10.0-H ...
- spark2.4.0+hadoop2.8.3全分布式集群搭建
集群环境 hadoop-2.8.3搭建详细请查看hadoop系列文章 scala-2.11.12环境请查看scala系列文章 jdk1.8.0_161 spark-2.4.0-bin-hadoop2. ...
- Ubuntu 16.04.4 LTS + Ambari 2.6.1.5 + HDP 2.6.4.0 安装部署
服务器 主机名 master slave1 slave2 slave3 IP 192.168.1.40 192.168.1.41 192.168.1.42 192.168.1.43 离线包服务器: 1 ...
- ambari 2.6.2 安装 hdp 2.6.5.0 遇到的问题
1.hive-client 无法安装 一直报错(symlink target already exists and it is not a symlink.),hive-client 已经存在且不是 ...
- Spark-2.3.2【SparkStreaming+SparkSQL-实时仪表盘应用】
应用场景:实时仪表盘(即大屏),每个集团下有多个mall,每个mall下包含多家shop,需实时计算集团下各mall及其shop的实时销售分析(区域.业态.店铺TOP.总销售额等指标)并提供可视化展现 ...
- HDP 企业级大数据平台
一 前言 阅读本文前需要掌握的知识: Linux基本原理和命令 Hadoop生态系统(包括HDFS,Spark的原理和安装命令) 由于Hadoop生态系统组件众多,导致大数据平台多节点的部署,监控极其 ...
- geotrellis使用(二十五)将Geotrellis移植到spark2.0
目录 前言 升级spark到2.0 将geotrellis最新版部署到spark2.0(CDH) 总结 一.前言 事情总是变化这么快,前面刚写了一篇博客介绍如何将geotrellis移植 ...
- Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2
为了将Hadoop和Spark的安装简单化,今日写下此帖. 首先,要看手头有多少机器,要安装伪分布式的Hadoop+Spark还是完全分布式的,这里分别记录. 1. 伪分布式安装 伪分布式的Hadoo ...
- maven+spark2.0.0最大连通分量
运用到了spark2.0.0的grarhx包,要手动的在pom.xml里面添加依赖包,要什么就在里面添加依赖,然后在run->maven install
随机推荐
- WSAStartup function
[WSAStartup function] Parameters wVersionRequested [in] The highest version of Windows Sockets speci ...
- python's os.system&os.spawn
[python's os.system&os.spawn] os.system会新建一个子shell,在子shell中执行传入的sh脚本.os.spawn用于执行一个bin,产生一个子进程.所 ...
- 表达式SpEL方式的属性注入
-----------------------siwuxie095 表达式 SpEL 方式的属性注入 表达式 SpEL 方式的属性注入是 Spring 3.x 版本后提供的方式 1.编写一个普通类 B ...
- leetcode 121 股票买卖问题系列
描述: 给一些列数字,表示每条股票的价格,如果可以买卖一次(不能同一天买和卖),求最大利益(即差最大). 其他三道问题是,如果能买卖无限次,买卖两次,买卖k次. 题一: 实质是求后面一个数减前一个数的 ...
- sqlserver select 查询字段if判断用法
SELECT TOP 1000 [id], case when group_id>1 then 'vip' else '普通会员' end F ...
- asp.net网站全局控制文件内注册事件
在管理ASP.NET网站的时候,有时会对网站整体做出控制,这时把这些代码写在global.asax内可以做到全局控制. 未添加任何代码的global.asax文件如下: <script runa ...
- 产品设计师 VS UX设计师:你更想成为哪一个?
随着互联网的快速发展,越来越多的应届毕业生也成为设计师的一员.他们当中的许多人选择UX设计师作为第一份工作,也有一些人选择做一个产品设计师.你是否也想成为设计师呢?这两种设计师你更倾向于哪一个呢?在你 ...
- iPhone X 的“刘海”正是苹果的品牌象征
以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 在iPhone X发布活动结束之后,关于其在屏幕顶端独特的“刘海”设计,引起了不少人的讨论.其实,这 ...
- ImageView.src的png图标变形问题
图标,必须是png-24输出,如果是png-8输出,则失真.
- 设置UITextField键盘上return key不可点击
今天在做搜索栏时候,发现系统软键盘有下角的“搜索”按钮在输入框无论有没有文字的情况下都是可以点击的状态,记得其他软件在无文字的状态下是不可点击的状态,起初还以为要对textfield的内容做一个判断, ...