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. SpringMVC源码解读 - HandlerMapping - SimpleUrlHandlerMapping初始化

    摘要: SimpleUrlHandlerMapping只是参与Handler的注册,请求映射时由AbstractUrlHandlerMapping搞定. 初始化时,通过setMappings(Prop ...

  2. .NET基础 (01).NET基础概念

    .NET基础概念 1 什么是CTS.CLS和CLR2 开发和运行.NET程序需要的最基本环节是什么3 .NET是否支持多编程语言开发4 CLR技术和COM技术的比较5 什么是程序集和应用程序域 1 什 ...

  3. Lotus迁移到Exchange 2010 POC 之Domino Server的配置!

    1.      在桌面点击安装完成的Domino 服务器配置:

  4. MacOS VMware Function安装win的ghost系统(亲测成功!!!)

    1.下载WEPE工具生成可启动ISO 下载WEPE工具 WEPE工具下载地址 下载完成之后,双击打开文件(无需安装,可直接制作可启动ISO) 点击立即生成ISO之后 2.将生成的可启动ISO文件和wi ...

  5. Robot Framework资料

    https://www.cnblogs.com/pachongshangdexuebi/category/981644.html 虫师 :http://www.cnblogs.com/fnng/   ...

  6. 基于 ZKEACMS 的云建站 / 自助建站解决方案

    基于ZKEACMS的云建站 / 自助建站解决方案,一站式托管,解决企业建站需求,功能强大,高度自定义.用户只需在界面上输入一些基本信息,选择相应的主题 / 网站模板,然后就可以快速创建一个独一无二的网 ...

  7. jQuery为DOM动态追加事件

    处理一个列表绑定,因为是一个展示项目,没有使用复杂的插件,直接jsrender写了个模板,但是后面有一个操作按钮,去查看数据详情,想到了jquery使用on进行事件委托,然后就开搞 最初是这样写的: ...

  8. Windows上编译LLVM 3.2

    LLVM还是做的很好的,可以很方便的编译. 解压LLVM 3.2到[工作目录]/llvm/llvm-3.2.src 解压Clang到[工作目录]/llvm/llvm-3.2.src/tools/cla ...

  9. eclipse installer 安装的新版本 eclipse 导入旧版本 eclipse 插件

    打开旧版本eclipse,选择File -> Export... -> Install -> Installed Software Items to File,点击Next 点击Se ...

  10. java 去最后一位字符 str.substring(0,str.length()-1)

    String str = " 中国, 美国 , 意大利 ";String[] arr = str.split(",");for(int i1 =0;i1< ...