Hive事务表转换为非事务表

环境:hive3.1.0

由于建表时默认会建为非事务表
CREATE TABLE bucket_text_table2(column1 string,column2 string,column3 int) CLUSTERED BY (column3) into 5 BUCKETS STORED AS TEXTFILE;
执行完成后,查看默认建表语句:

+----------------------------------------------------+
|                   createtab_stmt                   |
+----------------------------------------------------+
| CREATE TABLE `bucket_text_table2`(                 |
|   `column1` string,                                |
|   `column2` string,                                |
|   `column3` int)                                   |
| CLUSTERED BY (                                     |
|   column3)                                         |
| INTO 5 BUCKETS                                     |
| ROW FORMAT SERDE                                   |
|   'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'  |
| STORED AS INPUTFORMAT                              |
|   'org.apache.hadoop.mapred.TextInputFormat'       |
| OUTPUTFORMAT                                       |
|   'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' |
| LOCATION                                           |
|   'hdfs://ambari-hadoop1:8020/warehouse/tablespace/managed/hive/test.db/bucket_text_table2' |
| TBLPROPERTIES (                                    |
|   'bucketing_version'='2',                         |
|   'transactional'='true',                          |
|   'transactional_properties'='insert_only',        |
|   'transient_lastDdlTime'='1704166322')            |
+----------------------------------------------------+

其中表的transactional被设置为true,代表表为事务表
尝试通过alter table set properties来进行修改

0: jdbc:hive2://ambari-hadoop1:2181,ambari-ha> alter table bucket_text_table2 set tblproperties('transactional'='false');
INFO  : Compiling command(queryId=hive_20240102143335_121e893a-fb40-4853-876b-c6da7edf0ddd): alter table bucket_text_table2 set tblproperties('transactional'='false')
INFO  : Semantic Analysis Completed (retrial = false)
INFO  : Returning Hive schema: Schema(fieldSchemas:null, properties:null)
INFO  : Completed compiling command(queryId=hive_20240102143335_121e893a-fb40-4853-876b-c6da7edf0ddd); Time taken: 0.04 seconds
INFO  : Executing command(queryId=hive_20240102143335_121e893a-fb40-4853-876b-c6da7edf0ddd): alter table bucket_text_table2 set tblproperties('transactional'='false')
INFO  : Starting task [Stage-0:DDL] in serial mode
ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot change 'transactional' without 'transactional_properties'
INFO  : Completed executing command(queryId=hive_20240102143335_121e893a-fb40-4853-876b-c6da7edf0ddd); Time taken: 0.033 seconds
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot change 'transactional' without 'transactional_properties' (state=08S01,code=1)

修改结果ERROR,看来需要同时修改transactional_properties属性值,重新调整

0: jdbc:hive2://ambari-hadoop1:2181,ambari-ha> alter table bucket_text_table2 set tblproperties('transactional'='false','transactional_properties'='{}');
INFO  : Compiling command(queryId=hive_20240102143717_f10054c2-f69f-4d53-aa61-86fe98edaf64): alter table bucket_text_table2 set tblproperties('transactional'='false','transactional_properties'='{}')
INFO  : Semantic Analysis Completed (retrial = false)
INFO  : Returning Hive schema: Schema(fieldSchemas:null, properties:null)
INFO  : Completed compiling command(queryId=hive_20240102143717_f10054c2-f69f-4d53-aa61-86fe98edaf64); Time taken: 0.024 seconds
INFO  : Executing command(queryId=hive_20240102143717_f10054c2-f69f-4d53-aa61-86fe98edaf64): alter table bucket_text_table2 set tblproperties('transactional'='false','transactional_properties'='{}')
INFO  : Starting task [Stage-0:DDL] in serial mode
ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot convert an ACID table to non-ACID
INFO  : Completed executing command(queryId=hive_20240102143717_f10054c2-f69f-4d53-aa61-86fe98edaf64); Time taken: 0.022 seconds
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot convert an ACID table to non-ACID (state=08S01,code=1)

Cannot convert an ACID table to non-ACID很明显,不支持将事务表改变为非事务表。
我在以上表转换时,表中是有数据的,那么如果是空表是否还支持事务表转换至非事务表呢?测试后发现也不行,那么如果要将事务表转为非事务表怎么办呢?

  1. 创建一个新的非事务表。
  2. 将数据从原事务表导入到新的非事务表。
  3. 如果需要,你可以删除原事务表。
    cnblogs原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/612136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP 微信小程序获取 手机号码

PHP代码 $param $_POST; $app_id ""; $app_secret "";$url_get https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential&appid . $app_id . &secret . $app_secret;$tmptoken json_decode(curl($url_get), true);$token $tm…

ORACLE RAC DG文件路径错乱解决办法

最近接手了一个客户的RAC-RAC dg环境的维护,登录上去之后发现dg延迟了8天,由于主库的空间非常紧张,归档日志早就删除了,所以准备使用rman基于scn点的备份恢复的方案恢复dg同步 在备份完成之后,使用新的控制文件进行数据恢复的时候报错datafile 43 not found: 检查了一下发现当…

SpringBoot中使用单例模式+ScheduledExecutorService实现异步多线程任务(若依源码学习)

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_本地运行若依前后端分离-CSDN博客 设计模式-单例模式-饿汉式单例模式、懒汉式单例模式、静态内部类在Java中的使用示例: 设计模式-单例模…

数据库 MySQL 索引的原理

在数据库中,索引是一种重要的数据结构,它用于加快数据的检索速度和提高查询性能。在 MySQL 中,索引的实现基于 B树结构。 索引的基本思想是通过维护一个有序的数据结构,来快速定位和访问表中的数据。B树是一种自平衡的二叉搜索树…

Python requirements.txt 详解

文章目录 1 概述1.1 作用1.2 注意 2 操作2.1 生成 requirements.txt2.2 安装 requirements.txt 3 示例3.1 新建 Django 项目3.2 找到 Scripts 目录,执行生成 requirements.txt 命令 1 概述 1.1 作用 作用:记录 当前项目下 所有 依赖包及其版本号&#…

Polars使用指南(一)

pandas是Python数据处理中非常经典的一个科学计算库,表形式的数据结构、丰富的API和灵活的编程语法使得pandas成为最常用的的数据分析工具。但是pandas也有一个最致命的缺陷,就是效率问题,尤其是不支持并行计算。pandas2在性能方面有了极大的…

不知道题目是啥

本题是学校的集训里的题,所有不知道题目名字是啥,直接看题目就好 解题思路:因为字符串只含有小写字母,所以可以创建两个数组分别来存s和t的每个字母出现次数,然后遍历数组,如果s字符串中的某个字母比t的小&…

输电线路分布式故障诊断装置的四大特点介绍-深圳鼎信

输电线路分布式故障诊断装置是一种利用行波测距、无线通信等技术手段实现电网故障定位的设备。这对于电网的故障处理和恢复具有重要意义,可以帮助运维人员提高故障处理的效率,缩短故障处理时间,减少停电时间,提高用户的供电可靠性…

premiere简约大气3D动画logo片头Pr模板Mogrt免费下载

Premiere简约大气3D动画logo片头pr模板mogrt下载,无需插件,高清分辨率,易于自定义,包括教程,不包括音频和图像。免费下载:https://prmuban.com/37065.html

Linux学习(1):目录结构、编辑器和用户管理

Linux学习(1):目录结构、编辑器和用户管理 1 Linux目录结构2 vi和vim编辑器2.1 快捷键练习 3 用户管理3.1 添加用户3.2 删除用户即主目录3.3 切换用户 4 用户组 1 Linux目录结构 在linux世界里,一切皆为文件。 linux目录结构&a…

test fuzz-05-模糊测试 kelinci AFL-based fuzzing for Java

拓展阅读 开源 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) 开源 Junit performance rely on junit5 and jdk8.(java 性能测试框架。性能测试。压测。测试报告生成。) test fuzz-01-模糊测试(Fuzz Testing) test fuzz-…

Gin CORS 跨域请求资源共享与中间件

Gin CORS 跨域请求资源共享与中间件 文章目录 Gin CORS 跨域请求资源共享与中间件一、同源策略1.1 什么是浏览器的同源策略?1.2 同源策略判依据1.3 跨域问题三种解决方案 二、CORS:跨域资源共享简介(后端技术)三 CORS基本流程1.CORS请求分类2.基本流程 四、CORS两种…

信息安全面试攻略

在神秘的代码江湖里,有一群行走在钢丝上的信息安全程序员。有人说它神秘,有人说它刺激,也有人觉得它充满了挑战,他们不是普通的码农,而是掌握了“隐匿术”的忍者编程者。今天,就让我们一起探讨如何在这场没…

Java项目:02 基于ssm超市订单管理系统

项目介绍 基于ssm超市订单管理系统 环境:jdk1.8,mysql5.7,tomcat8.5,maven3.6 软件:IDEA 功能:超市后台管理系统,有订单管理,供应商管理,用户管理,密码修改&…

阿赵UE学习笔记——9、材质和材质实例

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎,这次来了解一下UE里面关于材质的一些概念性的东西。 一、材质 材质这个概念,在所有三维软件里面都会有,比如3Dsmax里面的材质球,或者Unity里面的Material…

解决docker run报错:Error response from daemon: No command specified.

将docker镜像export/import之后,对新的镜像执行docker run时报错: docker: Error response from daemon: No command specified. 解决方法: 方案1: 查看容器的command: docker ps --no-trunc 在docker run命令上增加…

【Python】AttributeError: module ‘torch.nn‘ has no attribute ‘HardSigmoid‘

AttributeError: module ‘torch.nn’ has no attribute ‘HardSigmoid’ 这个错误是因为PyTorch的torch.nn模块中并没有HardSigmoid这个函数。是拼写的大小写问题,换成nn.Hardsigmoid()即可。 如下述代码出错。 import torch import torch.nn as nn hard_sigmoid…

自动化的力量可实现更好的供应商风险管理

长期以来,公司一直依赖制造商、服务提供商、供应商或顾问等丰富的外部各方网络来促进整体运营并从外部专业知识或产品中获益。虽然这些合作伙伴关系通常是互惠互利的,但公司也需要意识到第三方甚至第四方供应商带来的潜在风险,并考虑整个供应…

VSCode使用MinGW编译器,配置C/C++环境

目录 一、安装VSCode 二、安装MinGW编译器 1、配置环境变量 2、测试配置是否成功 三、配置VSCode 1、安装所需扩展 2、新建代码存放文件夹 3、添加配置文件 4、配置文件内容 (1)c_cpp_properties.json (2)launch.json …

支持向量机(SVM)进行文本分类的Python简单示例实现

支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,主要用于分类和回归问题。它的基本思想是将数据映射到高维空间中,使得数据在该空间中线性可分,然后在该空间中寻找最优的超平面&#xff…