Hive数据仓库实践3 创建表

在创建第一张表之前,先来说说Hive中的数据类型,基本类型和大多数计算机语言类似,包括:tinyint,smallint,int,bigint,boolean,float,double,,string,binary,timestamp,decimal,char,varchar,date等。还有一种集合类型,比较特殊,分为如下三种。

1、ARRAY:由一系列相同数据类型的元素组成,通过下标来访问,如array[1]

2、MAP:包含key->value键值对,通过key来访问元素,如map['key']

3、STRUCT:包含不同数据类型的元素,通过点的方式访问数据,如struct.key

下面我们建立一张客户信息表,包括年龄、职业、教育等属性,启动hive:

在你的hadoop安装目录下的sbin子目录中运行start-all.sh启动hadoop,然后接着输入hive进入hive命令提示符,并输入如下语句建立数据库(调整了终端颜色)。

查看数据库是否存在:

在loan_db中建立表cust_info,如下:

输出OK,则建表成功,其中contact-联系方式为array类型,default-借款是否违约为map类型,open-开户信息为struct类型。if not exists表示如果此表不存在才建立,存在则不执行建表代码。

row format开始代表数据文件的行格式,指定字段间用制表符\t分隔,以换行符\n结束一行,数据文件存储为textfile文本文件。use loan_db从默认数据库切换到loan_db,show tables命令查看上面建的空表,貌似Mysql也有这些命令。如下:

接下来使用desc查看表的描述信息,formatted规范化输出格式,如下:

上图输出了cust_info表的字段名和字段类型,在表详细信息中输出了表的hdfs存放路径等内容。

最后是是输入/输出格式,桶和排序等信息,当然目前还未设置。

第二种建表方式是用like关键字,直接拷贝原表的定义,如下:

用desc查看表cust_info2的字段定义与cust_info完全一致。

后面的章节会介绍如何往本节的空表中加载数据,到时会演示如何访问集合类型的数据。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171213G014D700?refer=cp_1026

扫码关注云+社区