hive的数据类型
-
整型
数据范围:TINYINT(Y)<SMALLINT(S)<INT(-)<BIGINT(L) -
字符串
VARCHAR(1-65355)和CHAR(255)
使用单引号(’’)或双引号(“”)来指定;遵循C-类型的转义字符 -
时间戳
支持传统的UNIX时间戳可选纳秒的精度
“YYYY-MM-DD HH:MM:SS.fffffffff”和格式“YYYY-MM-DD HH:MM:ss.ffffffffff”
date:{ {YYYY-MM-DD}}
-
浮点型(小数)
DECIMAL(precision, scale)
decimal(10,0) -
联合类型
联合是异类的数据类型的集合。可以使用联合创建的一个实例。语法和示例如下:
- null
缺少值通过特殊值 - NULL表示。 - 复杂类型
数组、映射、结构体
create database语句
CREATE DATABASE|SCHEMA [IF NOT EXISTS]
IF NOT EXISTS是一个可选子句,通知用户已经存在相同名称的数据库。
创建一个名为userdb数据库:
hive> CREATE DATABASE [IF NOT EXISTS] userdb;
hive> CREATE SCHEMA users;
DROP DATABASE语句
DROP DATABASE是删除所有的表并删除数据库的语句.
DROP DATABASE StatementDROP (DATABASE|SCHEMA) [IF EXISTS] database_name
[RESTRICT|CASCADE];
下面的查询用于删除数据库。假设要删除的数据库名称为userdb。
hive> DROP DATABASE IF EXISTS userdb;
以下是使用CASCADE查询删除数据库。这意味着要全部删除相应的表在删除数据库之前。
hive> DROP DATABASE IF EXISTS userdb CASCADE;
以下使用SCHEMA查询删除数据库。
hive> DROP SCHEMA userdb;
CREATE TABLE语句
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.] table_name
[(col_name data_type [COMMENT col_comment], …)]
[COMMENT table_comment]
[ROW FORMAT row_format]
[STORED AS file_format]
下面的数据是一个注释,行格式字段,如字段终止符,行终止符,并保存的文件类型。
实例:
CREATE TABLE IF NOT EXISTS employee (eid int, name String, salary String, destination String)
COMMENT 'Employee details'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;