hive的概述和数据类型
一、Hive概述
1.Hive简介
Hive数据仓库软件有助于使用SQL读取、编写和管理驻留在分布式存储中的大型数据集。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。
Hive可以将SQL语句自动转化为Mapreduce程序,节省了手写框架的困难。
2.Hive优缺点
优点:1)操作接口采用了SQL,避免了首先MR程序,简化开发,降低学习成本;
2)Hive依赖于HDFS做存储,是HDFS上的工具;
3)Hive虽然使用SQL,但是他能处理大规模的数据;
4)Hive支持自定义函数。
缺点:1)Hive执行延迟较高,大多适用于实时性不高的场景或用于处理历史数据;
2)Hive的SQL表达能力有限,有些复杂场景还需要MR程序;
3)hive效率低,优化较难。
二、Hive架构
Hive提供了一下了接口:hive shell、JDBC/ODBC
Hive的工作流程:
1.客户端可以通过多种接口来使用hvie,比如cli(命令行)、jdbc(java);
2.比如使用命令行select count(*) from user调用SQL
客户端回去Meta元数据中调用MySQL的数据(hive默认数据库是derby,我们可以修改指定为MySQL);
3.从Meta获取数据库数据后,命令行和数据一次传入SQL Parser解析器、Physical编译器、Query优化器、Execution执行器;
4.最后对生成的MR程序进行运算,返回结果。
三、Hive中的数据类型
Java数据类型 | Hive数据类型 | 类型长度 |
byte | tinyint | 1byte |
short | smallint | 2byte |
int | int | 4byte |
long | bigint | 8byte |
float | float | 单精度浮点数 |
double | double | 双精度浮点数 |
string | string | 字符串 |
timestamp | 时间类型 | |
binary | 字节数组 |
hive的概述和数据类型的更多相关文章
- [Hive - Tutorial] Type System 数据类型
数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...
- hive笔记:复杂数据类型-map结构
map 结构 1. 语法:map(k1,v1,k2,v2,…) 操作类型:map ,map类型的数据可以通过'列名['key']的方式访问 案例: select deductions['Feder ...
- Redis数据库 01概述| 五大数据类型
1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...
- Hive(五)数据类型与库表操作以及中文乱码
一.数据类型 1.基本数据类型 Hive 支持关系型数据中大多数基本数据类型 类型 描述 示例 boolean true/false TRUE tinyint 1字节的有符号整数 -128~127 1 ...
- Hive 01 概述、安装配置
概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...
- Hive的基本操作和数据类型
Hive的基本操作 1.启动Hive bin/hive 2.查看数据库 hive>show databases; 3. 打开默认数据库 hive>use default; 4.显示defa ...
- hive学习笔记之-数据类型
数据类型 Hive基本的数据类型: Hive集合数据类型: 另外还有一个复合数据类型,可以综合上面的数据类型组合到一起. · union: UNIONTYPE<data_typ ...
- hive(2)数据类型和文件格式
基本的数据类型 Hive支持关系型数据中大多数基本的数据类型,同时也支持关系型数据库中很少出现的三种集合数据类型. 集合数据类型 Hive中的列支持使用struct.map.array集合数据类型,下 ...
- Hive中的集合数据类型
除了使用础的数据类型string等,Hive中的列支持使用struct, map, array集合数据类型. 数据类型 描述 语法示例 STRUCT 和C语言中的struct或者"对象&qu ...
随机推荐
- Springboot集成ECharts
ECharts 是中国的,也是世界的! ECharts官网: ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前 绝大部分浏览器(IE8 ...
- markdown 数学公式
https://blog.csdn.net/zdk930519/article/details/54137476
- EF Code First关系规则及配置
1.一对多关系 关系表: Category 分类表 Product 产品表 分类与产品之间的一对多关系 1>.产品实体类不指定外键属性 Domain中类定义: Category.cs 1 usi ...
- 在Ubuntu下进行XMR Monero(门罗币)挖矿的超详细图文教程
大家都知道,最近挖矿什么的非常流行,于是我也在网上看了一些大神写的教程,以及跟一些大神请教过如何挖矿,但是网上的教程都感觉写得不够详细,于是今天我这里整理一个教程,希望能够帮到想要挖矿的朋友. 首先, ...
- avg 的使用
select * from emp where sal>(select avg(sal) as ssalfrom emp);--要求查询出高于公司平均工资的全部雇员信息
- 毕业设计——Django表单重复提交问题
1. 先记录一些正常情况:在填写表单页面(如注册.登录页面)时刷新页面时数据清空是正常的,此时就是重新发送了一个页面请求. 2. 问题一:用户登录后,刷新登陆后的页面(如首页)时会出现表单重复提交问题 ...
- 分布式系列十: Redis安装和命令
redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理. Redis的优势 多种数据结构 字符类型String 散列类型Hash 列表类型List 集合类型Set 有序集合类 ...
- DC综合简单总结(2)
DC综合简单总结(2) 建立时间和保持时间和数据输出延时时间 一.概念 建立时间和保持时间都是针对触发器的特性说的. 建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前, ...
- 2018-2019-2-20175235 实验一 《Java开发环境的熟悉》实验报告
实验一 Java开发环境的熟悉 实验内容及要求: 1.使用JDK编写简单的Java程序 2.使用IDEA编辑编译运行调试测试Java程序 实验内容,步骤与心得: (一).Linux命令行下Java程序 ...
- spring boot2.0.4集成druid,用jmeter并发测试工具调用接口,druid查看监控的结果
一.项目介绍(本项目用的编程语言是jdk8,项目源码:https://github.com/zhzhair/spring-boot-druid.git) 1.引入pom依赖: <dependen ...