一、Hive是什么

是Facebook开源,用于解决海量结构化日志的数据统计工具。

是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。

Hive处理的数据存储在HDFS上,数据分析底层实现是MR,执行程序运行在Yarn上。

二、Hive的优缺点

优点(Advantages):

  • 操作接口采用类SQL 语法,提供快速开发的能力(简单、容易上手)。
  • 避免了去写 MapReduce,减少开发人员的学习成本。
  • Hive 的执行延迟比较高,因此 Hive 常用于数据分析(对实时性要求不高的场合)。
  • Hive 优势在于处理大数据,对于处理小数据没有优势,因此 Hive 的执行延迟比较高
  • Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

缺点(Disadvantages):

  • HQL表达能力有限,迭代式算法无法表达,
  • 数据挖掘方面不擅长:由于 MapReduce 数据处理流程的限制,效率更高的算法却无法实现。
  • Hive 的效率比较低,Hive 自动生成的 MR 作业,通常情况下不够智能化
  • Hive 调优比较困难,粒度较粗。

三、Hive 的架构

HiveQL:Hive的SQL方言,类似于SQL查询语言。HiveQL允许用户使用类似于SQL的语言来查询和分析数据。

Hadoop:Hive运行在Hadoop上,是一个基于MapReduce的数据处理框架。Hadoop提供了分布式存储和计算能力,使得Hive可以高效地处理大规模数据。

执行引擎:Hive的执行引擎将HiveQL语句转换为MapReduce作业或Tez作业,并提交给Hadoop集群进行执行。

Metastore:Hive元数据存储库,用于管理表、分区和其他元数据信息。Hive Metastore是一个RESTful API,可以通过HTTP协议访问。

Driver:Hive提供了许多不同的驱动程序,用于与不同的数据源进行交互。例如,Hive支持MySQL、Oracle、PostgreSQL等常见的关系型数据库。

Web UI:Hive提供了一个Web界面,称为Hive Web UI(https://hive.apache.org/hive-web-site/)。这个UI可以方便地执行查询、查看和管理Hive集群中的数据。

四、Hive的相关概念

记录:数据(存储在HDFS上,表里面的记录会存储很多,数量无上限)

数据库、表:为了描述记录(元数据,元数据存储在关系型数据库,数据库(MySQL)中并不存储 Hive 的记录。)

Hive的元数据包括:

  • 表的名字
  • 表的列和分区及其属性
  • 表的属性(是否为外部表等)
  • 表的数据所在的目录等

五、Hive的三种模式

Tips:Hive的元数据可由access、virtual ofx、sql server、mysql、sqlite、postgresql、oracle管理。

5.1、本地模式

此模式连接到一个In-Memory的数据库Derby,一般用于单元测试(UnitTest)

5.2、单用户模式

通过网络连接到一个数据库中,是最常使用到的模式

5.3、多用户模式

远程服务器模式,用于非java客户端访问元数据(metastore),在服务器端启动metaStoreServer,客户端利用thrift协议通过metaStoreServer访问元数据库

六、Hive 中的数据类型

类  型 Hive MySQL中类似的
整  数 numberic、tinyint tinyint、int、bigint、mediumint、numeric
浮  点 decimal double、decimal
字符串 string varchar、text、char
布  尔
时  间 date/time date、time、datetime、timestamp
JSON   json
Geom   几何图形(周边搜索)(地理系统,地图)
二进制 boolean,binary 图片
复杂类型 Arrays,maps,structs,union json

— 要养成终生学习的习惯 —

Hive - [01] 概述的更多相关文章

  1. Hive 01 概述、安装配置

    概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...

  2. kafka详解(01) - 概述

    kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...

  3. Zookeeper详解(01) -概述

    Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...

  4. hive的概述和数据类型

    一.Hive概述 1.Hive简介 Hive数据仓库软件有助于使用SQL读取.编写和管理驻留在分布式存储中的大型数据集.提供了命令行工具和JDBC驱动程序以将用户连接到Hive. Hive可以将SQL ...

  5. 01 - 概述 VTK 6.0 迁移

    摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...

  6. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  7. [Hive]HiveServer2概述

    1. HiveServer1 HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果.HiveServer是建立在Apache ThriftTM(http: ...

  8. 【OracleDB】 01 概述和基本操作

    实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...

  9. 【大数据面试】Flink 01 概述:包含内容、层次架构、运行组件、部署模式、任务提交流程、任务调度概念、编程模型组成

    一.概述 1.介绍 对无界和有界数据流进行有状态计算的分布式引擎和框架,并可以使用高层API编写分布式任务,主要包括: DataSet API(批处理):静态数据抽象为分布式数据集,方便使用操作符进行 ...

  10. Headfirst JSP 01 (概述)

    HTTP 协议 http 是tcp/ip上层协议, 如果你对这些网络协议还不是太熟悉, 下面提供一个非常简单的解释, tcp负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...

随机推荐

  1. 注册美区 Apple ID 账号!都2020年了,你还没有一个自己的海外苹果ID?

    写在前面: 小伙伴们学腻了技术,不防今天来点大家都感兴趣的海外苹果 Apple ID 吧! 今天就教大家怎么注册美区 Apple ID,这个方法也是目前注册苹果美区  Apple ID  最快最简单的 ...

  2. JS 面试题(2023-09-20更新)

    因JS代码实现面试题较多,移至另外一篇文章:JS面试题-代码实现 基础 JavaScript 是什么? JavaScript 是一种属于网络的脚本语言,被广泛应用于 Web 应用开发 JavaScri ...

  3. DSL 和 reactive 噩梦

    Kotlin 之美-DSL篇 - 掘金 像 Compose 那样写代码 :Kotlin DSL 原理与实战_fundroid_方卓的博客-CSDN博客 先找好一个靶子: val yesterday = ...

  4. C#中使用ping命令测试远程主机网络通信是否正常

    说明,使用ping工具 1.可以用来查询域名是否可以访问 2.可以用来查询域名对应的ip地址 如果远程服务器允许ping命令的前提下. 解决思路:主要使用了C#提供的Ping类,效率比较高,相应快 程 ...

  5. Windows7系统启用ipv6的详细步骤(图文)

    IPV6是IETF设计的用于替代现行版本IP协议(IPv4)的下一代IP协议.一般情况下,win7系统默认是关闭IPV6服务的,之前教程也有分享过win7禁用ipv6协议的方法.那么如果要启用ipv6 ...

  6. Windows应用开发-常用工具集推荐

     .NET/WPF开发 Visual Studio 最新版本是VS2022,官网下载:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 VsColorOutput 控制台 ...

  7. vue3-openlayers基础知识简介

    vue3-openlayers基础知识简介 OpenLayers 3 Primer openlayers6:入门基础(一) openlayers 入门教程 一.基础概念介绍 地图(Map) OpenL ...

  8. React基础笔记1

    官网:https://react.docschina.org/ 一.认知React 概述 React 起源于 Facebook(脸书) 的内部项目,它是一个用于构建用户界面的 javascript 库 ...

  9. WPF Play Image slider animation using Storyboard

    using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using Sys ...

  10. .net工作流elsa-书签

    啥是书签 流程引擎的核心关注点是安排流程,如:第1步做什么 → 第2步做什么 → 第n步做什么...,至于各步骤具体是怎么做的,是由你来决定的,这不是流程引擎关注的重点. 流程安排可能会涉及到分叉.并 ...