走进大数据之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 桶表
  • 视图
内部表
创建内部表

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

分区表

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';

外部表
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容