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. [GO]并行和并发的区别

    并行:指在同一时刻,有多条指令在多个处理器上同时执行 并发:指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只有把时 ...

  2. CentOS下的Git服务器

    [Gitosis]CentOS下的Git服务器:Gitosis  [摘要]         详细介绍如何在CentOS上配置Gitosis        我们很多人知道Git可能是从Github开始的 ...

  3. 【转】Java多线程编程(十)-并发编程原理(分布式环境中并发问题)

    转载地址:http://blog.csdn.net/leicool_518/article/details/42268947 在分布式环境中,处理并发问题就没办法通过操作系统和JVM的工具来解决,那么 ...

  4. 如何查找文件中的schema约束

    1.下载一个spring3.2的jar和source 然后打开source的文件(路径:\spring-framework-3.2.5.RELEASE\docs\spring-framework-re ...

  5. CodeForces 682A Alyona and Numbers (水题,数学)

    题意:给定两个数 m,n,问你在从1到 n,和从 1到 m中任选两个数加起来是5的倍数,问你有多少个. 析:先计算 m 和 n中有多少个取模5是从0到4的,然后根据排列组合,相乘就得到了小于等于 m ...

  6. 我的CSS3学习笔记

    1.元字符使用: []: 全部可选项 ||:并列 |:多选一 ?: 0个或者一个 *:0个或者多个 {}: 范围 2.CSS3属性选择器: E[attr]:存在attr属性即可: E[attr=val ...

  7. 如何使用jQuery + css3制作绚丽的网页经验总结

    常见的网页特效有:轮播,滚动,闪烁,渐变,图标GIF效果,翻转,折叠,3D变换,主视觉等.以前没有CSS3时一些复杂的特效都要借助Flash来实现,Flash为什么会被淘汰,个人认为有以下几点: 1. ...

  8. 《Beginning Java 7》 - 8 - Collecting Garbage 垃圾回收

    Java 垃圾回收机制原理: Java 语言使用 garbage collector 来进行垃圾回收.它是允许在后台的代码,间或地检查没有引用的对象(unreferenced object).发现后, ...

  9. 【maven】---聚合和继承

    前言 自从我知道写maven实战这本书的作者长得随心所欲后,我再拿起这本书真心的不想看前言了.下面分享一下maven中的所谓的聚合和继承. 内容 下文中的子本指的是:多个maven项目. 父本指的是: ...

  10. log4j日志+面向切面监控异常

    log4j.xml src/main/resources ----------------------------------------------------------------------- ...