走进大数据之Hive入门2

一、Hive数据类型

1.基本数据类型

  • 整数类型:tinyint/smallint/int/bigint
  • 浮点数类型: float/double
  • 布尔类型: boolean
  • 字符串类型: string/char/varchar

2.复杂数据类型

  • Array:数组类型,有一系列相同数据类型的元素组成

creat table student
(sid int, sname string, grade array<float>);
{1,Tom,[80,90,75]}

  • Map:集合类型,包含key-value键值对,可以通过key来访问元素

creat table student1
(sid int, sname string, grade map<string, float>);
{1,Tom,<‘语文’,85>}

array和map的嵌套使用
creat table student2
(sid int, sname string, grades array<map<string,float>>);
{1,Tom, [<‘语文’,80>,<‘英语’,90>]}

  • Struct:结构类型,可以包含不同数据类型的元素。这些元素可以通过“点语法”的方式来得到所需要的元素。

creat table student3
(sid int, info struct<name:string, age:int, sex:string>);

3.时间类型

  • Date
  • Timestamp 时间戳 自UNIX产生以来的一个偏移量,是一个整型数据

select unix_timestamp

二、Hive的数据存储

当我们在Hive中创建了一张表,就相当于在HDFS中创建了一个文件夹,而表中的数据就相当于文件夹中的文件。


  • -Table 内部表
    -Partition 分区表
    -External Table 外部表
    -Bucket Table 桶表
  • 视图

《走进大数据之Hive入门2》 内部表
《走进大数据之Hive入门2》 创建内部表

creat table student
(sid int, sname string, age int)
location ‘/mytable/hive/student’;
row formats delimited fields terminated by ‘,’;

《走进大数据之Hive入门2》 分区表

creat table partition_table
(sid int, sname string)
partitioned by (gender string)
row format delimited fields terminated by ‘,’;
insert into partition_table partition(gender=’M’) select sid,sname from sample_data where gender=’M’;

《走进大数据之Hive入门2》 外部表

    原文作者:Derrick_Xu
    原文地址: https://www.jianshu.com/p/0100f3945373
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞