hive 学习系列一(数据类型的定义)
数字类型(Numeric Types)
整型
TINYINT(取值范围:-128 -- 127)
SMALLINT(取值范围:-32,768 to 32,767)
INT/INTEGER(取值范围: -2,147,483,648 to 2,147,483,647)
BIGINT(取值范围: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)
使用举例
数据类型 后缀 举例
TINYINT Y 100Y
SMALLINT S 100S
BIGINT L 100L
小数
Float(4byte位双精度小数,精确到8位小数)
Double(8byte位双精度小数, 精确到小数点后16位)
DECIMAL(自定义小数,长度自定义)
时间类型
主要有两个:
TIMESTAMP: 时间戳,类似2018-09-09 11:59:59
DATE:日期,类似2018-09-09
其他一个时间间隔:(INTERVAL)如感兴趣,可以参考官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-Intervals
字符串类型
CHAR (最长指定255位)
VARCHAR(指定的长度范围0--65535)
STRING (单引号'' 或者双引号括起来的内容,注意转义字符)
CREATE TABLE foo (bar CHAR(10))
CREATE TABLE foo1 (bar VARCHAR(1000))
其他
BOOLEAN (类似java boolean)
BINARY (2进制格式)
复杂类型
arrays: ARRAY<data_type> (Note: negative values and non-constant expressions are allowed as of Hive 0.14.)
maps: MAP<primitive_type, data_type> (Note: negative values and non-constant expressions are allowed as of Hive 0.14.)
structs: STRUCT<col_name : data_type [COMMENT col_comment], ...>
union: UNIONTYPE<data_type, data_type, ...> (Note: Only available starting with Hive 0.7.0.) (新的数据类型使用方法有待研究)
用法举例:
create table if not exists employee(
name string,
salary float,
subordinates array<string>,
decutions map<string, float>,
struct<street:String, city:string, state:string, zip:int>
)
分别表示名字,薪水,下属员工, 薪水扣除事项(公积金、医疗保险),地址(街道,城市,州,)
参考(hive 官网:数据类型: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-char )
hive 学习系列一(数据类型的定义)的更多相关文章
- Hive学习 系列博客
原 Hive作业优化 原 Hive学习六:HIVE日志分析(用户画像) 原 Hive学习五--日志案例分析 原 Hive学习三 原 Hive学习二 原 Hive学习一 博客来源,https://blo ...
- hive 学习系列三(表格的创建create-table)
表格创建: 语法 第一种建表的形式: 说明: temporary 临时表,在当前回话内,这张表有效,当回话结束,可以理解为程序结束,则程序终止. external 外部表, hdfs 上的表的文件,并 ...
- hive学习笔记之-数据类型
数据类型 Hive基本的数据类型: Hive集合数据类型: 另外还有一个复合数据类型,可以综合上面的数据类型组合到一起. · union: UNIONTYPE<data_typ ...
- hive 学习系列四(用户自定义函数)
如果入参是简单的数据类型,直接继承UDF,实现一个或者多个evaluate 方法. 具体流程如下: 1,实现大写字符转换成小写字符的UDF package com.example.hive.udf; ...
- hive 学习系列六 hive 去重办法的思考
方法1,建立临时表,利用hive的collect_set 进行去重. create table if not exists tubutest ( name1 string, name2 string ...
- hive 学习系列五(hive 和elasticsearch 的交互,很详细哦,我又来吹liubi了)
hive 操作elasticsearch 一,从hive 表格向elasticsearch 导入数据 1,首先,创建elasticsearch 索引,索引如下 curl -XPUT '10.81.17 ...
- hive 学习系列二(数据库的创建删除修改) 拿走,不谢。
database 相当于一个目录或者命名空间,用来更好地进行表的管理 在hdfs 的目录位置大致如下: [root@iZbp12vtv76y9q3d633bh6Z /]# hadoop fs -ls ...
- hive 学习系列之七 hive 常用数据清洗函数
1,case when 的利用,清洗诸如评分等的内容,用例如下. case when new.comment_grade = '五星商户' then 50 when new.comment_grade ...
- hive学习笔记之一:基本数据类型
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- struts2的常量
常量名 常量值 说明 struts.i18n.encoding UTF-8 应用中使用的编码 struts.objectFactory.spring.autoWire name 和spring框架整合 ...
- msql 综合练习
8.统计列印各科成绩,各分数段人数: 课程ID,课程名称,[100-85],[85-70],[70-60],[<60] 尽管表面看上去不那么容易,其实用 CASE 可以很容易地实现: SELE ...
- windows10下 Jupyter 添加anaconda环境
参考:https://blog.csdn.net/weixin_39934500/article/details/79138235 首先查看 anaconda下的环境信息 conda env lis ...
- Linux目录与文件的权限意义
ls -l和ls -al的区别:第一个不会显示隐藏文件,第二个会显示隐藏文件(以点(.)开头的文件) 一.权限对文件(r.w.x主要针对文件的内容而言)的重要性 r:可读取文件内容 w:可以编辑.新增 ...
- Mysql学习第四天
1.跟用户相关的命令 (了解). DCL语句 1.1. 创建一个新的用户 CREATE USER 用户名@地址 IDENTIFIED BY '密码'; CREATE ...
- PHP文件是什么?如何打开PHP文件?
在平时我们可能会碰到过php文件,可是很多用户不知道php文件是什么文件?也不知道怎么打开php文件?为了满足一些用户的好奇心,小编现在就给大家讲解php文件以及如何打开php文件的方法. 1.PHP ...
- do..while(false)的用法总结
首先要注意: do..while(0) 代表do里面的东西至少被执行一次,在这里仅仅执行一次. 此种用法有三个用处: 代替{}代码块,实现局部作用域.在某些宏定义时非常有用: #define f(x) ...
- java日期时间Date类
java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二个构造函数接收一个参 ...
- java集合框架——Set
一.Set概述 Set集合的特点是元素不允许重复,而且是无序的(添加和取出的顺序不一致). Set接口中的方法和Collection接口中的方法几乎相同,略. Set接口下常用的两个类:HashSet ...
- testng失败重跑
重跑失败场景 1.要添加两个文件 背景:因为这里只是想单独展示失败的重跑的案例,所以先暂时把app这块的运行注释掉,只跑一个简单的demo,就一个简单类,类中就3个测试方法,失败重跑的原理是,运行方法 ...