hivesql修改字段类型_Hive数据类型+Hivesql Hive 数据类型 + Hive sql
基本类型
整型
int tinyint (byte) smallint(short) bigint(long)
浮点型
float double
布尔
boolean
字符
string char(定长) varchar(变长)
时间类型
timestamp date
引⽤/复合类型
优点类似于容器(Container),便于我们操作数据
复合类型可以和复合类型相互嵌套
Array
存放相同类型的数据
数据按照索引进⾏查,索引默认从0开始
user[0]
Map
⼀组键值对,通过key可以访问到value
key不能相同,相同的key会相互覆盖
学乐器
map['first']
Struct(就是C语⾔中的结构体, golang中也有)
定义对象的属性,结构体的属性都是固定的
通过属性获取值
user.uname
类型转换
⾃动
任何整数类型都可以隐式地转换为⼀个范围更⼴的类型
所有整数类型、FLOAT和STRING类型都可以隐式地转换成DOUBLE。
TINYINT、SMALLINT、INT都可以转换为FLOAT。
BOOLEAN类型不可以转换为任何其它的类型。
强制
CAST('1' AS INT)
在设计表的时候,尽量将数据类型设置为合适的类型
防⽌以后操作中没必要的⿇烦
DDL操作--数据库
库,表,字段等命名要注意命名规范
执⾏数据库组件的定义(创建,修改,删除)功能
执⾏任何的hivesql语句在语句末尾都要加上分号(
数据库
创建数据库
每创建⼀张表都会在HDFS⽂件系统中创建⼀个⽬录
create database ronnie;
create database if not exists ronnie;
创建数据库并制定存放的位置
create database ronnie location '/ronnie/ronnie_test;
删除数据库
drop database 库名;
drop database if exists 库名;
如果当前库不为空,级联删除
drop database if exists 库名 cascade;
修改数据库信息
数据库的其他元数据信息都是不可更改的
数据库名
数据库所在的⽬录位置。
alter database ronnie set dbproperties('createtime'='20170830');[设置库属性]显⽰数据库
show databases;
hive> show databases;
OK
default
ronnie
Time taken: 0.228 seconds, Fetched: 2 row(s)
hive>
show databases like 'r*'; [模糊匹配]
hive> show databases like'r*';
OK
ronnie
Time taken: 0.01 seconds, Fetched: 1 row(s)
干支纪年换算hive>
查看信息
desc database ronnie;
使⽤数据库
use ronnie;
DDL操作-表
表的创建⽅式:表⽰对数据的映射,所以表⽰根据数据来设计的
创建表
创建表写语句的时候,千万不要出现tab键,会出现乱码
创建数据⽂件,上传到Linux
创建userinfo表,会在数据库的⽂件夹中创建⼀个表名⽂件夹
将数据载⼊到表中
<
1,luna,00000
2,slark,11111
3,sven,22222
4,anit_mage,33333
create table ronnieInfo(
id int,
uname string,
password string
)
row format delimited fields terminated by ',' lines terminated by '\n';
load data local inpath '/' overwrite into table ronnieInfo; select * from ronnieInfo
select id from ronnieInfo where id = 2;
删除文件夹命令⾏显⽰:
hive> select * from ronnieInfo;
OK
1luna00000
3sven22222
4anit_mage33333
Time taken: 0.322 seconds, Fetched: 4 row(s)
hive> select id from ronnieInfo where id = 2;
OK
2
Time taken: 0.151 seconds, Fetched: 1 row(s)
重要指令集:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
(col_name data_type [COMMENT col_comment], ...)
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) ]
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
CREATE
关键字,创建表
[EXTERNAL]
表的类型,内部表还是外部表
TABLE
创建的类型
[IF NOT EXISTS]
判断这个表是否存在
table_name
表名,要遵循命名规则世界杯决赛时间12月18日几点
(col_name data_type [COMMENT col_comment], ...)
定义⼀个列 (列名1 数据类型1,列名2 数据类型1)
列与列之间⽤逗号隔开,最后⼀个列不需要加,
[COMMENT table_comment]
表的注释信息
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...)
分桶
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
分桶
[ROW FORMAT row_format]
每⼀⾏数据切分的格式
[STORED AS file_format]
数据存放的格式
[LOCATION hdfs_path]
何润东和张钧甯演过的电视剧有哪些数据⽂件的地址
修改表
修改表的时候⽂件夹也会修改名字
ALTER TABLE ronnieInfo RENAME TO ronnie_info;
更新列
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name];
增加替换列
ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...);
查看表结构
desc table_name;
删除表
12年义务教育DROP TABLE [IF EXISTS] table_name;
例⼦:
1,alex,18,game-exercise-book,stu_addr:auckland-work_addr:wellington
2,john,26,shop-lib-learn,stu_addr:queensland-work_addr:sydney
3,paul,20,cook-eat,stu_addr:brisbane-work_addr:gold_coast
create table personInfo(
id int,
name string,
age int,
fav array,
addr struct
)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论