hive Tutorial
hive数据单元按照粒度从大到小,依次为
1、数据库database:可以用show databases; 命令查看所有的数据库,并用use d1; 命令来选中d1数据库,接下来就可以操作d1数据库中的表了。
2、表table:可以用show tables; 命令查看当前库中所有的表。
3、分区partition:每一个表都可以有一个或者多个分区key,这些分区key决定了数据的存储方式。分区,除了作为存储单元外,还允许用户有效地识别满足特定标准的行。分区key的每一个值都定义了该表的一个分区。例如,某表有一个string类型的date_partition和一个string类型的country_partition,则"2009-12-23"中的所有"US"数据属于该表的同一个分区。因此,如果仅对"2009-12-23"的"US"数据进行分析,则只会在表的相关分区上运行查询,从而显著加快分析速度。分区列是虚拟列,它们不是数据本身的一部分,而是在加载时派生的。
4、桶bucket:每个分区中的数据又可以基于表的某些列的hash值被划分为桶。桶可用于有效地采样数据。
值得注意的是,表分区和桶不是必须的,但这些可以使得系统在查询处理期间过滤掉大量数据,从而加快查询执行速度。
Hive字段支持原始类型及复杂类型:
原始类型:
整型,有tinyint(1字节整数)、smallint(2字节整数)、int(4字节整数)、bigint(8字节整数);
boolean类型,true或者false;
浮点数,有float(单精度)和double(双精度);
定点数(fixed point number),decimal;
字符串类型,有string、varchar、char;
日期和时间类型,有timestamp和date;
二进制类型(binary type),binary(字节序列)。
需要额外注意的是,string类型可以被隐式转为double类型。
复杂类型:
struct:如column c的类型是struct {a int; b int},则a的值可以通过c.a得到
map:
array:里面的元素类型必须相同。如column a的类型是array,则可以通过a[0]、a[1]获取第一、二个元素
内建的运算符和函数
可以在beeline命令行使用show functions; 命令查看所有的运算符和函数。
还可以用describe function function_name; 命令查看某运算符或函数的用法解释。
实际发现,大多数运算符和函数都和java中的运算符和方法作用一样,遇到不一样的,再describe function 查看具体用法即可。
聚合函数返回值类型:
除count返回bigint类型外,sum、avg、min和max都返回double类型。
Hive SQL能做什么?
1、常规的DDL语句,create、drop、alter
2、常规的DML语句,load、insert、update、delete、select、where、join、group by、union
3、把查询结果存储到另外一个表中、hdfs中
4、把hive表的内容下载到本地目录
5、Ability to plug in custom scripts in the language of choice for custom map/reduce jobs
hive Tutorial的更多相关文章
- Hive Tutorial(上)(Hive 入门指导)
用户指导 Hive 指导 Hive指导 概念 Hive是什么 Hive不是什么 获得和开始 数据单元 类型系统 内置操作符和方法 语言性能 用法和例子(在<下>里面) 概念 Hive是什么 ...
- [Hive - Tutorial] Type System 数据类型
数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...
- Hive Tutorial 阅读记录
Hive Tutorial 目录 Hive Tutorial 1.Concepts 1.1.What Is Hive 1.2.What Hive Is NOT 1.3.Getting Started ...
- [Hive - Tutorial] Built In Operators and Functions 内置操作符与内置函数
Built-in Operators Relational Operators The following operators compare the passed operands and gene ...
- [Hive - Tutorial] Querying and Inserting Data 查询和插入数据
Querying and Inserting Data Simple Query Partition Based Query Joins Aggregations Multi Table/File I ...
- [Hive - Tutorial] Creating, Showing, Altering, and Dropping Tables
Creating, Showing, Altering, and Dropping Tables See Hive Data Definition Language for detailed info ...
- [Hive - Tutorial] Data Units 数据存储单位
Data Units In the order of granularity - Hive data is organized into: 数据库.表.分区.桶 Databases: Namespac ...
- Hive官方手册翻译(Getting Started)
翻译Hive官方文档系列,文中括号中包含 注: 字样的,为我自行标注的,水平有限,翻译不是完美无缺的.如有疑问,请参照Hive官方文档对照查看. 内容列表 Cloudera制作的Hive介绍视频 ...
- 【hive】——Hive sql语法详解
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...
随机推荐
- jQuary总结11:jQuery插件封装---jQuery封装 手风琴 动画插件
完整代码下载点击我的GitHub: https://github.com/XingJYGo/jquery-accordion 1 手风琴的效果展示如下: 2 封装插件目录结构如下: 主要包括:HTML ...
- Demo—cookie电商购物车
说明:cookie的操作须有域名,简单点说就是需要用发布的方式去访问,查看cookie信息请用开发者模式进入application栏 1.页面布局(结构)(根目录) 商品列表 <!doctype ...
- Android编程设置LayoutParams
RelativeLayout.LayoutParams linearParams = (RelativeLayout.LayoutParams)viewHolder.headerWraper.getL ...
- Android 热修复技术中的CLASS_ISPREVERIFIED问题
一.前言 上一篇博客中,我们通过介绍dex分包原理引出了Android的热补丁技术,而现在我们将解决两个问题. 1. 怎么将修复后的Bug类打包成dex 2. 怎么将外部的dex插入到ClassLoa ...
- logback-spring.xml配置文件详解
logback-spring.xml配置文件 自己改下value="G:/logs/pmp"这个值,如果你相关依赖弄好的话,直接复制粘贴即用 输出的日志文件的名称最好也改下,下文中 ...
- hibernate:对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决办法
在J2EE框架下开发web网站,这种问题经常遇到,只要我们网上搜一下,就可以看到很多版本的,我整理一下: 第一种可能性解决:看看我的项目:主要 是里面的Structs 1.3 (structs 2) ...
- VC6.0 多线程输出乱序问题
今天尝试编写多线程最简单的例子 #include "stdafx.h" #include "windows.h" #include <iostream&g ...
- linux fdisk分区工具
fdisk来自IBM老牌分区工具,支持绝大多数操作系统,几乎所有的linux的发行版本都装有disk,包括linux的resure模式下的依然能够使用. fdisk是一个机遇MBR的分区工具,所有如果 ...
- Web界面设计(Designing Web Interfaces中文版) (美)斯科特 pdf扫描版
Web界面设计是由Bill Scott编著.电子工业出版社出版的一部图书,在Web已经进入崭新的时代的今天,界面的设计显得非常重要,本书就是基于独一无二的Web环境下.在创建丰富体验的过程中设计Web ...
- .Net程序随系统开机启动(仿Foxmail托盘效果控制)
对于使.NET程序随系统开机启动,最常用的可能就是向在注册表中注册开机启动项,或是建立Windows服务,使程序随系统启动而启动.这里以WinForm程序为例,测试Demo分享,同时附上对于程序托盘的 ...