hive操作

显示当前所示的数据库

select current_database();

设置hive属性在命令头显示所在数据库名称(在hive里直接打)

set hive.cli.print.current.db=ture;

复杂数据类型 

CREATE TABLE student(
	name STRING,
	favors ARRAY<STRING>,
	scores MAP<STRING, FLOAT>,
    address STRUCT<province:STRING, city:STRING, detail:STRING, zip:INT>
) 
   ROW FORMAT DELIMITED 
   FIELDS TERMINATED BY '\t' 
   COLLECTION ITEMS TERMINATED BY ';'
MAP KEYS TERMINATED BY ':' ;

 简单翻译

row format delimited  fields terminated by '\t' 行格式分隔字段终止于
collection items terminated by ';'  收集项目终止于
map keys terminated by ':'  映射键终止于

说明:

1、字段name是基本类型,favors是数组类型,可以保存很多爱好,scores是映射类型,可以保存多个课程的成绩,address是结构类型,可以存储住址信息

2、ROW FORMAT DELIMITED是指明后面的关键词是列和元素分隔符的

3、FIELDS TERMINATED BY 是字段分隔符

4、COLLECTION ITEMS TERMINATED BY是元素分隔符(Array中的各元素、Struct中的各元素、Map中的key-value对之间)

5、MAP KEYS TERMINATED BY是Map中key与value的分隔符

6、LINES TERMINATED BY是行之间的分隔符

7、STORED AS TEXTFILE指数据文件上传之后保存的格式

 Load装载数据       

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] 
INTO TABLE tablename 
[PARTITION (partcol1=val1, partcol2=val2 ...)];

1.local 代表查找本地文件系统中的路径

2.filepath 代表的是要导入文件的路径

3.overwrite 如果使用了 OVERWRITE 关键字,代表覆盖,会覆盖同一名称的文件

insert插入数据

INSERT INTO TABLE table_name VALUES(XX,YY,ZZ),(AA,BB.CC);

insert导出数据

INSERT OVERWRITE [LOCAL] DIRECTORY directory1 select_statement

select查询数据

hive join查询

join_table:
  table_reference JOIN table_factor [join_condition]
  | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition
  | table_reference LEFT SEMI JOIN table_reference join_condition

Hive 支持等值连接(equality join)、外连接(outer join)和(left/right join)。Hive 不支持非等值的连接,因为非等值连接非常难转化到 map/reduce 任务。

另外,Hive 支持多于 2 个表的连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值