Hive基础,
一:变量1:定义变量
hive --define var=foo
定义了一个变量叫做var
2:查看变量 hive> set var; 结果如下
foo=bar
或者用另外一种方式查看
hive> set hivevar:foo;
结果如下:
hivevar:foo=bar
3:修改变量的值
hive> set foo=bar2;
请注意,若使用
hive> set hivevar:foo=bar3;
则会发现使用set foo 和set hivevar:foo来查看两个变量值是不一样的
这个说明命名空间是必须的,即hivevar是不可省略的,就是说用set foo来修改变量的值和set hivevar:foo两者是不一样的,分别是两个不同的变量,
但是用set来查看的话,若没有重名的变量,效果是一样的.
4:引用变量来建表
hive> create table t1(i int, ${hivevar:foo} string);
查看表
hive> describe t1;OKi int bar3 string Time taken: 0.372 seconds, Fetched: 2 row(s)
删除表
hive> drop table t1;OKTime taken: 5.382 seconds
5:变量的使用权限与名字空间
二:执行多个语句
hive怎样一次执行多个语句.可以使用-e来实现,多个语句间需要用分号隔开
若希望不现实OK,和Time taken等信息,可以使用静默模式,既是加入-S
三:从文件中执行hive语句
若存在一个文件为hivesql.hql的文件 则可以执行命令
hive -f /usr/local/hivesql.hql
另外若进入了hive shell中则可以使用
source /usr/local/hivesql.hql
四:注释
使用--来注释
五:基本数据类型
六:集合数据类型
Struct,Map,和Array
Struct: 定义一个带有Struct的表格
hive> create table test( > name string, > address struct<street:string,city:string,state:string,zip:int>);
即其格式为struct<成员名:类型,成员名:类型>
Array: 定义一个带有array的表格
hive> create table test( > name string, > subordinates array<string>);
即其格式为array<类型>;
Map: 定义一个带有Map的表格
hive> create table test( > name string, > deductions map<string,float>);
即其格式为map<类型,类型>;
七:分隔方式
一个具体的例子
hive> create table test( > name string, > address struct<street:string,city:string,state:string,zip:int>, > subordinates array<string>, > deductions map<string,float>);row format delimitedfields terminated by '\001'collection items terminated by '\002'map keys terminated by '\003'lines terminated by '\n'stored as textfile;
指定列的分隔符,还有容器的分隔符,和map中键和值间的分割符号
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。