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)
     
  • 相关阅读:
    批量插入以及数据存在重复就进行更新操作
    插件-过滤器
    NamedParameterJdbcTemplate
    菜鸟python---文件 + 操作
    菜鸟python---文件操作
    菜鸟python---以后会遇到的坑
    菜鸟python---二次编码
    菜鸟python---基础数据类型补充
    菜鸟python---深浅拷贝
    菜鸟python---集合
  • 原文地址:https://www.cnblogs.com/castlevania/p/8669610.html
Copyright © 2011-2022 走看看