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的更多相关文章

  1. Hive Tutorial(上)(Hive 入门指导)

    用户指导 Hive 指导 Hive指导 概念 Hive是什么 Hive不是什么 获得和开始 数据单元 类型系统 内置操作符和方法 语言性能 用法和例子(在<下>里面) 概念 Hive是什么 ...

  2. [Hive - Tutorial] Type System 数据类型

    数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...

  3. Hive Tutorial 阅读记录

    Hive Tutorial 目录 Hive Tutorial 1.Concepts 1.1.What Is Hive 1.2.What Hive Is NOT 1.3.Getting Started ...

  4. [Hive - Tutorial] Built In Operators and Functions 内置操作符与内置函数

    Built-in Operators Relational Operators The following operators compare the passed operands and gene ...

  5. [Hive - Tutorial] Querying and Inserting Data 查询和插入数据

    Querying and Inserting Data Simple Query Partition Based Query Joins Aggregations Multi Table/File I ...

  6. [Hive - Tutorial] Creating, Showing, Altering, and Dropping Tables

    Creating, Showing, Altering, and Dropping Tables See Hive Data Definition Language for detailed info ...

  7. [Hive - Tutorial] Data Units 数据存储单位

    Data Units In the order of granularity - Hive data is organized into: 数据库.表.分区.桶 Databases: Namespac ...

  8. Hive官方手册翻译(Getting Started)

    翻译Hive官方文档系列,文中括号中包含 注: 字样的,为我自行标注的,水平有限,翻译不是完美无缺的.如有疑问,请参照Hive官方文档对照查看.   内容列表 Cloudera制作的Hive介绍视频 ...

  9. 【hive】——Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

随机推荐

  1. yii2 gridview 新增按钮 动态显示按钮

    新增一个按钮 [ 'class' => 'yii\grid\ActionColumn', 'header' => '操作', 'options' => ['width' => ...

  2. lnmp一键安装包 配置多站点

    在/usr/local/nginx/conf/vhost下配置多站点的文件,一个站点对应一个文件,配置如下信息: vim ./vhost/test.conf server { listen ; ser ...

  3. 五)使用 easyui-tabs 遭遇错误 Unexpected Exception caught setting '_' on

    十月 10, 2015 3:08:35 下午 com.opensymphony.xwork2.interceptor.ParametersInterceptor error 严重: Developer ...

  4. Python之迭代器,生成器与装饰器

    1>迭代器原理及使用: 1>原理: 迭代器是访问集合元素的一种方式,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束:迭代器只能往前不会后退,不过这也没什         ...

  5. Java网络编程のTCP/IP

    TCP/IP参考模型和TCP/IP协议 与OSI参考模型相似,TCP/IP参考模型汲取了网络分层的思想,而且对网络的层次做了简化,并在网络各层都提供了完善的协议,这些协议构成了TCP/IP协议集,简称 ...

  6. 在ie6下将png24图片透明

    没想到IETester中IE6和IE6真实版本不一样...之前一直没有实现png图片的透明度,现在发现原来是版本不一样惹的祸.总之,我将解决方法以demo的方式显示出来,以供再次利用. <!DO ...

  7. 基于.net standard 的动态编译实现

    在前文[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性.在尝试了基于 Emit 中间语言 ...

  8. C#中的线程

    1.线程Thread 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行:对于比较耗时的操作(例如io,数据库操作),或者等待响应(如WCF通信)的操作,可以单独开启后台线程来执行,这样主线程 ...

  9. 如何使用安卓4.4的SD卡?

    安卓4.4默认情况下,后安装的程序无权写入数据到SD卡中,那么是否我们就不能用了?看了很多文章,都说要Root,随后修改配置文件.我觉得这不是很好的方法,Root之后的安卓会有很大风险,这不是最好的办 ...

  10. POJ 1330 Nearest Common Ancestors(lca)

    POJ 1330 Nearest Common Ancestors A rooted tree is a well-known data structure in computer science a ...