删除或更新操作在配置单元0.14上不起作用

8ehkhllq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(320)

任何人都知道为什么delete/update操作在hive 0.14中不起作用(应该从0.14版本开始起作用),即使我按照步骤/格式创建表并获取:
失败:semanticexception[error 10294]:尝试使用不支持这些操作的事务管理器进行更新或删除。
运行删除操作时。请帮我解决这个问题。

CREATE TABLE STUDENT
(
STD_ID INT,
STD_NAME STRING,
AGE INT,
ADDRESS STRING
)
CLUSTERED BY (ADDRESS) into 3 buckets
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED as orc tblproperties('transactional'='true');
nafvub8i

nafvub8i1#

1.在hive-site.xml中设置以下属性
2.重新创建表
3.将数据加载到表中
4.尝试积垢作业。会有用的。祝你好运

<property>
  <name>hive.support.concurrency</name>
  <value>true</value>
</property>

<property>
  <name>hive.enforce.bucketing</name>
  <value>true</value>
</property>

<property>
  <name>hive.exec.dynamic.partition.mode</name>
  <value>nonstrict</value>
</property>

<property>
  <name>hive.txn.manager</name>
  <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
</property>

<property>
  <name>hive.compactor.initiator.on</name>
  <value>true</value>
</property>

<property>
  <name>hive.compactor.worker.threads</name>
  <value>1</value>
</property>
rbpvctlc

rbpvctlc2#

从0.14开始删除和更新作品。我也做到了。您需要在配置单元中设置新的配置参数

hive.support.concurrency – true
 hive.enforce.bucketing – true
 hive.exec.dynamic.partition.mode – nonstrict
 hive.txn.manager –org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
 hive.compactor.initiator.on – true
 hive.compactor.worker.threads – 1

然后创建一个带有酸性支撑的表,

CREATE TABLE STUDENT
(
STD_ID INT,
STD_NAME STRING,
AGE INT,
ADDRESS STRING
)
CLUSTERED BY (ADDRESS) into 3 buckets
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED as orc tblproperties('transactional'='true');

做凝乳手术。

update STUDENT 
    set AGE = 24 
    where STD_ID = 19;

请遵循以下步骤

相关问题