这篇文章主要为大家展示了“Hive数据类型怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hive数据类型怎么用”这篇文章吧。
基本数据类型
「基本数据类型」
-
tinyint/smallint/int/bigint: 整数类型
-
float/double: 浮点数类型
-
boolean:布尔类型
-
string:字符串类型
「复杂数据类型」
-
Array:数组类型,由一系列相同数据类型的元素组成
-
Map:集合类型,包含key->value键值对,可以通过key来访问元素
-
Struct:结构类型,可以包含不同数据类型的元。这些元素可以通过"点语法"的方式来得到所需要的元素
「时间类型」
-
Date:从Hive0.12.0开始支持
-
Timestamp:从Hive0.8.0开始支持
常用DDL操作
查看数据列表
show databases;
使用数据库
USE database_name;
新建数据库
语法:
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name --DATABASE|SCHEMA 是等价的 [COMMENT database_comment] --数据库注释 [LOCATION hdfs_path] --存储在 HDFS 上的位置 [WITH DBPROPERTIES (property_name=property_value, ...)]; --指定额外属性
示例:
CREATE DATABASE IF NOT EXISTS hive_test COMMENT 'hive database for test' WITH DBPROPERTIES ('create'='heibaiying');
创建一个数据库,数据库在HDFS 上的默认存储路径是/user/hive/warehouse/\*.db。
创建一个数据库,可以指定数据库在 HDFS 上存放的位置
hive > CREATE DATABASE hive_test location '/db_hive.db';
查看数据库信息
语法:
DESC DATABASE [EXTENDED] db_name; --EXTENDED 表示是否显示额外属性
示例:
DESC DATABASE EXTENDED hive_test;
删除数据库
语法:
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
默认行为是 RESTRICT,如果数据库中存在表则删除失败。要想删除库及其中的表,可以使用 CASCADE 级联删除。
示例:
DROP DATABASE IF EXISTS hive_test CASCADE;
案例实操
本地文件导入Hive
[hadoop@node02 ~]$ vim student.txt student.id student.name 1 Runsen 2 Zhangsan 3 Lisi hive> CREATE DATABASE db_hive; hive> use db_hive; hive> create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; hive> load data local inpath 'student.txt' into table student; hive> select * from student; OK student.id student.name 1 Runsen 2 Zhangsan 3 Lisi
除了可以将本地文件导入到HIve中,我们先把文件上传到HDFS,然后使用HDFS将数据导入到Hive中。