hive命令
1.登录到hive
cd $HIVE_HOME
bin/hive
或者环境变量没问题的话,直接hive>
show databases;
show tables;
4.查看表列的定义
describe <表名>;
5.查看表具体的某一列
describe <列名>;
6.查看10条列的信息
select * from <列名> limit 10;
7.创建数据库(默认创建语法),其位置在hive.metastore.warehouse.dir
中定义的默认顶层目录下创建一个<库名>.db的目录
create database <库名>;
8.创建数据库(完整创建语法),with dbproperties可以将
任何自定义属性指派给数据库
create database if not exists <库名>
comment ‘stores all <库名> basket dara’
location ‘/opt/hive/<库名>.db’
with dbproperties (‘purpose’ = ‘texting’);
9.查看with dbproperties的属性
describe database extended <库名>;
10.更改数据库
alter database <库名>
set dbproperties (‘department’ = ‘sales’);
11.删除数据库,cascade的使用可选,其作用是
允许你删除数据库时将已有表一起删除
该命令将删除该库所有内部表和外部表
drop database <库名> cascade;
12.列出所有名字是s开头的数据库
show databases like ‘s*’;
13.基本数据类型
数值型–存放正负数字和浮点数
日期/时间型–存放时间值
字符型–将字符和数字存放在字符串中
布尔型–true或false
二进制型–二进制数的可变长数组
14.复杂数据类型
数组
map
结构体
联合体
15.数组
有序,下标从0开始,和java不同的是,不能在hive数组中定义最大元素值
例如,声明一个items数组来保存字符串值
items array<“bread”,“butter”,“happy”>
字符串的复合集有一个预定义的排序,因此可以从0访问
items[0] returns “bread”
items[2] returns “happy”
16.map
无序的键/值对集合,map的键可以用基本类型,map的值可以用基本和复杂数据类,map数据类型的元素需要使用键来访问,map数据类型的元素不能用下标访问
例如,声明一个包含商品项和数量的basket集合
basket map<‘string’,‘int’>
basket map<“eggs”,‘12’>
通过在map函数中指定商品项,可以打印该商品项的数量
basket(“eggs”) returns 12
17.结构体
是一个对象,其中含有多个字段,而这些字段可以是任何数据类型
例如,使用struct定义来声明客户的地址记录
addrss struct<houseno:string,street:string,city:string,
zipcode:int,state:string,country:string>
address <“17”,“main st”,“seattle”,98104,“wa”,“usa”>
可以使用点号来访问某一字段,使用address.zipcode来访问各个地址的邮政编码
18.联合体
联合体提供了一种方法,可以将不同数据类型的元素存储在同一字段的不同行中。
当字段的底层数据不同质的时候,这种方法很有用
例如,如果数据文件中存放了客户的联系信息,但是每条联系信息中包含一个或多个
电话号码,或者包含一个或多个电子邮件地址,那么可以声明一个contact变量来存储
信息
contact uniontype <int,array(int),string,array(string)> //这里用()代替<>,<>代码不显示