Hive(20):Transaction事务

这篇具有很好参考价值的文章主要介绍了Hive(20):Transaction事务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 Hive事务背景知识

Hive本身从设计之初时,就是不支持事务的,因为Hive的核心目标是将已经存在的结构化数据文件映射成为表,然后提供基于表的SQL分析处理,是一款面向分析的工具。

并且Hive映射的数据通常存储于HDFS上,而HDFS是不支持随机修改文件数据的。

这个定位就意味着在早期的Hive的SQL语法中是没有update,delete操作的,也就没有所谓的事务支持了,因为都是select查询分析操作。

从Hive0.14版本开始,具有ACID语义的事务(支持INSERT,UPDATE和 DELETE这些用例)已添加到Hive中,以解决以下场景下遇到的问题:

  • 流式传输数据。使用如Apache Flume或Apache Kafka之类的工具将数据流式传输到现有分区中,但是这会使读者感到脏读(也就是说,开始查询后能看到写入的数据)。
  • 变化缓慢的维度数据。在典型的星型模式数据仓库中,维度表随时间缓慢变化。例如,零售商将开设新商店,需要将其添加到商店表中,或者现有商店可能会更改其平方英尺或某些其他跟踪的特征。这些更改导致插入单个记录或更新记录(取决于所选策略)。
  • 数据更新。有时发现收集的数据不正确,需要更正。

2 Hive事务表局限性

虽然Hive支持了具有ACID语义的事务,但是在使用起来,并没有像在MySQL中使用那样方便,有很多局限性。原因很简单,毕竟Hive的设计目标不是为了支持事务操作,而是支持分析操作,且最终基于HDFS的底层存储机制使得文件的增加删除修改操作需要动一些小心思。具体限制如下:文章来源地址https://www.toymoban.com/news/detail-559646.html

    到了这里,关于Hive(20):Transaction事务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

    领支付宝红包 赞助服务器费用

    相关文章

    • Hive数据仓库简介

      Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日

      2024年02月15日
      浏览(57)
    • hive数据仓库课后答案

      一、 填空题 1.数据仓库的目的是构建面向     分析         的集成化数据环境。 2.Hive是基于     Hadoop         的一个数据仓库工具。 3.数据仓库分为3层,即      源数据层        、     数据应用层        和数据仓库层。 4.数据仓库层可以细分为      明细层

      2023年04月08日
      浏览(47)
    • 数据仓库 & Apache Hive

      目录 一、数据分析 1、数据仓库 1.1、数仓专注分析 1.2、数仓主要特征 1.3、数据仓库主流开发语言--SQL 2、Apache Hive 2.1、为什么使用Hive? 2.2、Hive和Hadoop关系 2.3、Hive架构图、各组件功能 2.4、Hive安装部署 2.4.1、Hive概念介绍 2.4.2、安装前准备     数据仓库 (英语:Data Warehous

      2024年01月22日
      浏览(49)
    • Hive 数据仓库介绍

      目录 ​编辑 一、Hive 概述 1.1 Hive产生的原因 1.2 Hive是什么? 1.3 Hive 特点 1.4 Hive生态链关系 二、Hive架构 2.1 架构图 2.2 架构组件说明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2.4 Hiveserver2 2.2.5 Driver 2.2.5.1 解释器 2.2.5.2 编译器 2.2.5.3 优化器 2.2.5.4 执行

      2024年02月07日
      浏览(42)
    • Hive数据仓库

      数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面相分析的集成化数据环境,分析结果为企业提供决策支持(Decision Support)。 数据仓库本身并不“产生”任何数据,其数据来源不同外部系统; 同时数据仓库

      2024年02月15日
      浏览(40)
    • hive数据仓库工具

      1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址  Welcome! - The Apache Software Foundation https://archive.apache.org/ 4、hive在管理数据时分为元数据和真数据,其中元数据要保存在数据库中

      2024年02月04日
      浏览(35)
    • 安装hive数据仓库

      需要安装部署完成的Hadoop的环境如果不会搭建的可以参考: 卸载Centos7自带的mariadb mariadb-libs-5.5.64-1.el7.x86_64是使用 rpm -qa|grep mariadb 查询出来的名称 安装mysql 安装mysql时可能会出现的问题 1、依赖检测失败 问题很明显了就是依赖的问题,下载他说的依赖就好了 安装hive 上传并且

      2024年02月14日
      浏览(52)
    • 【Hive】——数据仓库

      数据仓库(data warehouse):是一个用于存储,分析,报告的数据系统 目的:是构建面向分析的集成化数据环境,分析结果为企业提供决策支持 特点: 数据仓库本身不产生任何数据,其数据来源于不同外部系统 数据仓库也不需要消费任何的书,其结果开放给各个外部应用使用

      2024年02月04日
      浏览(43)
    • 数据仓库hive的安装说明

      1.按照下面语句顺序依次输入,安装mysql         $sudo apt-get install mysql-server         $sudo apt-get install mysql-client         $sudo apt-get install libmysqlclient-dev 2.连接MySQL数据库 (1)进入mysql         $sudo mysql -u root –p (2)使用mysql         use mysql; (3)修改mysql用户密

      2024年03月10日
      浏览(44)
    • Hive数据仓库行转列

      查了很多资料发现网上很多文章都是转发和抄袭,有些问题。这里分享一个自己项目中使用的行转列例子,供大家参考。代码如下: 如果是在SparkSQL或Presto平台,或者阿里云的MaxCompute平台,还可使用如下方式:

      2024年02月21日
      浏览(58)

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    博客赞助

    微信扫一扫打赏

    请作者喝杯咖啡吧~博客赞助

    支付宝扫一扫领取红包,优惠每天领

    二维码1

    领取红包

    二维码2

    领红包