zoukankan      html  css  js  c++  java
  • CDH-hive内进行删除操作

    hive安装后需要修改已建的表及查询操作,在执行修改操作时遇到了如下问题。
     
    hive> update dp set name='beijing' where id=1159;
    FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations.
     
    1、在hive-site.xml文件中,增加如下属性。
    <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>
      <property>
        <name>hive.in.test</name>
        <value>true</value>
      </property>
     
    2、重启hive服务;
    3、表构建必须加上,否则无法进行删除操作
    CLUSTERED BY (uniq_id) INTO 8 BUCKETS
    STORED AS ORC TBLPROPERTIES ('transactional'='true');
     
    由于hive的删除只支持一个字句,因此要先设置好唯一健
    delete from 表1 where 列1 in (select 列2 from 表2)
     
  • 相关阅读:
    4-Python3从入门到实战—基础之数据类型(字符串-String)
    3-Python3从入门到实战—基础之数据类型(数字-Number)
    前端工程化—部署
    前端工程化
    PHP与MySQL设计模式:代理模式
    移动前端开发入门(一)
    PHP页面间传值的几种方法
    PHP文件上传及下载源码
    PHP文件操作
    JavaScript正则表达式
  • 原文地址:https://www.cnblogs.com/castlevania/p/8669610.html
Copyright © 2011-2022 走看看