码迷,mamicode.com
首页 > 其他好文 > 详细

Hive数据类型

时间:2015-08-17 13:36:40      阅读:5062      评论:0      收藏:0      [点我收藏+]

标签:

1.hive常用的数据类型包括:

  tinyInt(byte),smallint(short),int,bigint(long),float,double,boolean,string类型。【括号中对应java类型】

补充:对于mysql中的varchar和char类型:若字符串长度小于10建议用char,大于10使用varchar。这是因为对于varchar类型,必须占有一到两个字节来说明它的字符长度。(char寻址快)

 技术分享

2.类型转换

  隐式转换规则:任何整数类型都可以隐式转换为一个范围更广的类型。

    所有整数类型 + float + string都可以转换为double类型。

  可以使用cast操作进行数据类型显示转换

    例如cast(‘1‘ as int)把字符串‘1‘转换成整数值1,转换失败则表达式返回控制NULL。

3.复杂类型

Create table complex (

Col1 array<int>,

Col2 map<string, int>,

Col3 struct<a:string, b:int, c:double>

);

  将内容为:array (1,2) map(‘a‘,1,‘b‘,2) struct(‘a‘,1,1.0) 的数据文件load到上面的表中。

  执行hive语句:Select Col1[0], Col2[‘b‘],Col3.c from complex;

  返回:1 2 1.0

    • Array类型是通过下标来取值,字段的类型必须相同
    • Map类型是通过key来取值,
    • Struct类型是通过定义时的名称来取值,字段类型可以不同 

4.内置函数

  •   与SQL相同的:等值判断 x=‘a‘,空值判断 x is NULL,模式匹配 x like ‘A%‘,算术操作 x+1,逻辑操作 x or y。
  •   其中和SQL-92有点区别的是:||是逻辑或(OR),而不是字符串"连接"。在mysql和hive中字符串连接是concat()函数。
  •   可以使用:show functions获取函数列表。describe function获得某个特定函数的使用帮助。

Hive数据类型

标签:

原文地址:http://www.cnblogs.com/skyl/p/4736164.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!