Hive中的行级事务

问题描述 投票:0回答:1

我是HiveQL的新手。当我创建一个表时,我开始知道我们需要保持TRUE某些事务的属性。然后我经历了那些:

hive>set hive.support.concurrency = true;
hive>set hive.enforce.bucketing = true;
hive>set hive.exec.dynamic.partition.mode = nonstrict;
hive>set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
hive>set hive.compactor.initiator.on = true;
hive>set hive.compactor.worker.threads = a positive number on at least one instance of the Thrift metastore service;

什么Concurrency,bucketing,Dynamic.partition.mode = 'nonstrict'

我一直在努力学习这些东西,但我正在获取信息以及锁定机制和ZooKeeper以及内存概念。

由于我是这个领域的新手,我无法对这个属性有所了解。

任何人都可以对此有所了解吗?

hadoop hive bigdata hiveql apache-zookeeper
1个回答
0
投票

从Hive文档

hive.support.concurrency

Hive是否支持并发。必须为默认Hive锁管理器启动并运行ZooKeeper实例才能支持读写锁。

设置为true以支持INSERT ... VALUES,UPDATE和DELETE事务(Hive 0.14.0及更高版本)。有关打开Hive事务所需参数的完整列表

 hive.enforce.bucketing

是否强制执行分组。如果为true,则在插入表格时,会强制执行分组。

hive.exec.dynamic.partition.mode

在严格模式下,用户必须至少指定一个静态分区,以防用户意外覆盖所有分区。在非严格模式下,允许所有分区都是动态的。

hive.txn.manager

将此设置为org.apache.hadoop.hive.ql.lockmgr.DbTxnManager,作为打开Hive事务的一部分。默认的DummyTxnManager复制pre-Hive-0.13行为并且不提供任何事务。

hive.compactor.initiator.on

是否在此Metastore实例上运行启动器和清除线程。在Thrift Metastore服务的一个实例上将此设置为true,作为打开Hive事务的一部分。有关打开事务所需参数的完整列表,请参阅hive.txn.manager。

至关重要的是,在一个Metastore服务实例(尚未强制执行)上启用此功能。

hive.compactor.worker.threads

在此Metastore实例上运行多少个压缩工作线程。在Thrift Metastore服务的一个或多个实例上将此值设置为正数,作为打开Hive事务的一部分。有关打开事务所需参数的完整列表,请参阅hive.txn.manager。

工作线程产生MapReduce作业以进行压缩。他们自己不做压缩。增加工作线程数将减少确定需要压缩后压缩表或分区所需的时间。随着更多MapReduce作业将在后台运行,它还将增加Hadoop集群的后台负载。

© www.soinside.com 2019 - 2024. All rights reserved.