繁体   English   中英

Hive存储桶式表已启用事务

[英]Hive Bucketed Tables enabled for Transactions

因此,我们正在尝试使用以下语句创建具有ORC格式的Hive表,其中该表已存储并启用了事务处理

create table orctablecheck ( id int,name string) clustered by (sno) into 3  buckets stored as orc TBLPROPERTIES ( 'transactional'='true')

该表将在Hive中创建,并且在Metastore和Spark SQL(我们已配置为在Hive JDBC上运行)中也反映在Beeline中

现在,我们通过Hive将数据插入到该表中。 但是,我们看到插入后的数据不会反映在Spark SQL中。 它只能在Hive中正确反映。

该表仅在我们重新启动Thrift Server时显示表中的数据。

表格上是否设置了交易属性? 我观察到蜂巢式事务存储结构还不能与spark一起使用。 您可以通过在Hive控制台中查看以下命令的输出中的transactional属性来确认这一点。

desc extended <tablename> ;

如果您需要访问事务表,请考虑进行重大压缩,然后尝试访问表

ALTER TABLE <tablename> COMPACT 'major';

我在Hive中创建了一个事务表,并使用Spark(记录1,2,3)和Hive(记录4)在其中存储了数据。

大压实之后

  • 我可以在Hive中看到所有4条记录(使用beeline)
  • 仅在火花中记录1,2,3(使用spark-shell)
  • 无法更新Hive中的记录1,2,3
  • 更新到Hive中的记录4可以

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM