Hive内置数据类型

Hive的内置数据类型可以分为两大类:(1)、基础数据类型;(2)、复杂数据类型。其中,基础数据类型包括:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。下面的表格列出这些基础类型所占的字节以及从什么版本开始支持这些类型。

数据类型 所占字节 开始支持版本
TINYINT 1byte,-128 ~ 127  
SMALLINT 2byte,-32,768 ~ 32,767  
INT 4byte,-2,147,483,648 ~ 2,147,483,647  
BIGINT 8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807  
BOOLEAN    
FLOAT 4byte单精度  
DOUBLE 8byte双精度  
STRING    
BINARY   从Hive0.8.0开始支持
TIMESTAMP   从Hive0.8.0开始支持
DECIMAL   从Hive0.11.0开始支持
CHAR   从Hive0.13.0开始支持
VARCHAR   从Hive0.12.0开始支持
DATE   从Hive0.12.0开始支持

  复杂类型包括ARRAY,MAP,STRUCT,UNION,这些复杂类型是由基础类型组成的。

  ARRAY:ARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。比如有一个ARRAY类型的变量fruits,它是由[‘apple‘,‘orange‘,‘mango‘]组成,那么我们可以通过fruits[1]来访问元素orange,因为ARRAY类型的下标是从0开始的;
  MAP:MAP包含key->value键值对,可以通过key来访问元素。比如”userlist”是一个map类型,其中username是key,password是value;那么我们可以通过userlist[‘username‘]来得到这个用户对应的password;
  STRUCT:STRUCT可以包含不同数据类型的元素。这些元素可以通过”点语法”的方式来得到所需要的元素,比如user是一个STRUCT类型,那么可以通过user.address得到这个用户的地址。
  UNION: UNIONTYPE,他是从Hive 0.7.0开始支持的。

  创建一个包含复制类型的表格可以如下

CREATE TABLE employees (
    name STRING,
    salary FLOAT,
    subordinates ARRAY<STRING>,
    deductions MAP<STRING, FLOAT>,
    address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
) PARTITIONED BY (country STRING, state STRING);  
时间: 2024-08-27 14:18:29

Hive内置数据类型的相关文章

C++内置数据类型和变量

一.数据类型 1.什么是数据类型? 数据类型是为了固定内存空间的别名. 2.数据类型解决什么问题? 解决编程中出现的各种各样的数据. 3.数据类型分类? C++内置数据类型可分为两组:第一组为基本类型,包括整数和浮点数:第二组为复合类型,包括数组.字符串.结构.类和指针. 二.变量 1.什么是变量? 变量就是一段连续内存空间的别名,程序通过变量来申请.命名.访问内存空间. 2.变量解决C++当中什么问题? 信息将存储在哪里 要存储什么值 存储何种类型的信息

Python的内置数据类型

Python在编程语言中的定位: 脚本语言--scriptinglanguage 高阶动态编程语言. Python是以数据为主,变量的值改变是指变量去指到一个地址. Id(变量)-->>展示变量的地址. 一个具体的值,会有不同的变量名.. Python的数据类型: 数字.字符串.列表.元组.字典 数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了. Dictionary介绍 Dictionary是Python的内置数据类型之一,它定义了键和值之间的一

【Python】内置数据类型

参考资料: http://sebug.net/paper/books/dive-into-python3/native-datatypes.html http://blog.csdn.net/hazir/article/details/10159709 1.Boolean[布尔型] # coding:utf-8 ''' Created on 2014-4-29 @author: Administrator ''' # Python中的布尔值为True.False,首字母大写 def test_b

python基础-内置数据类型

一.简介 如果你用过C或者C++,你该知道你的许多工作集中在实现数据结构上面.你需要管理内存分配,部署内存结构等等.这些东西比较乏味,通常会让你无法集中在真正想实现的目标上面. 而在Python中,许多这种乏味的工作都去去除了.Python提供了强大的对象类型作为Python语言的一部分,解决问题时,你不需要手工写代码来实现这些结构了.而且你也不需要亲自实现自己的数据类型.因为内置对象类型有很多好处.如果你是一个编程大牛,哪另当别论,对于初学者,我们首先需要知道如何使用. Python内置数据类

python 内置数据类型

一.Dictionary 的介绍 dictionary 是python 的内置类型之一,它定义键和值之间一对一的关系 1.定义dictionary 2.修改dictionary NOTE: Dictionary 是无序的.当使用 dictionary 时,您需要知道:dictionary 的 key 是大小写敏感的. 3.dictionary 中混用数据类型 4.dictionary 删除元素 二.List 介绍 List 是 Python 中使用最频繁的数据类型.它很像java中的ArrayL

python计算非内置数据类型占用内存

getsizeof的局限 python非内置数据类型的对象无法用sys.getsizeof()获得真实的大小,例: import networkx as nx import sys G = nx.Graph() l = [i for i in xrange(10000)] print "size of l:", sys.getsizeof(l) G.add_nodes_from(l) print "size of graph:", sys.getsizeof(G)

Python中内置数据类型list,tuple,dict,set的区别和用法

Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. (原链接:http://www.jb51.net/article/76339.htm) List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: ? 1 L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定

C#调用C++ 平台调用P/Invoke 结构体--含有内置数据类型的一维、二维数组、字符串指针【六】

[1]结构体中含有内置数据类型的一维数组 C++代码: typedef struct _testStru3 { int iValArrp[30]; WCHAR szChArr[30]; }testStru3; EXPORTDLL_API void Struct_ChangeArr( testStru3 *pStru ) { if (NULL == pStru) { return; } pStru->iValArrp[0] = 8; lstrcpynW(pStru->szChArr, L&quo

扩展内置数据类型要注意先检测

1 /* 2 * 扩展内置数据类型 3 * 要注意, javascript的内置数据类型可能已经定义了这个方法 4 * 所以, 在自己定义方法之前, 要检测这个方法是否存在. 5 * 方式如下: 6 */ 7 String.prototype.repeatify = String.prototype.repeatify || function(times) { 8 var str = ''; 9 for(var n=0; n<times; n++) { 10 str += this; 11 }