sparksql 查询不到hive内部表数据

问题描述

使用sparksql查询hive数据表,第一个表查询出了,第二个表查询出了,第三个查询…居然没有结果🤨🤨🤨,奇怪了,接着使用hive查询了一下这个表,发现是有数据的.

问题分析

表和表之间有差异?确实有
hive分为内表和外表

  • 内表 元数据和数据都由hive管理
  • 外部表 元数据hive管理,数据hdfs管理

很可能问题就是出在了这里…
然后就一顿百度💪💪💪
终于找到了问题的原因:
🍊🍊🍊🍊🍊
hive 默认生成的内表是事务表(ACID),而spark目前不支持ACID,所以就读取不到
hive3.0默认开启了事务表,之前是不会出现这种状况的
🍊🍊🍊🍊🍊

问题解决

修改hive的创建内表机制,让它不是事务表

hive.strict.managed.tables=false 
hive.create.as.insert.only=false 
metastore.create.as.acid=false
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Antgeek

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

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

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

打赏作者

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

抵扣说明:

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

余额充值