Hive2

本文介绍了Hive的文件存储格式,包括TEXTFILE、SEQUENCEFILE、RCFILE、ORCFILE和PARQUET的特点和用途。此外,讨论了Hive中的哪些操作会触发MapReduce任务,并解释了如何通过不同选项查看和执行Hive命令。同时,文章涵盖了Hive创建、查看和修改表的相关语法,以及内部表和外部表的区别。
摘要由CSDN通过智能技术生成

Store as的含义

hive文件存储格式包括以下几类
1.TEXTFILE
为默认格式,建表时不指定则默认为这个格式,导入数据时会直接吧数据文件拷贝到hdfs上不进行处理;

SEQUENCEFILE,RCFILE,ORCFILE,PARQUET格式的表不能直接从本地文件导入数据数据要先导入到TEXTFILE格式的表中,再从表中用insert导入SEQUENCEFILE,RCFILE,ORCFILE,PARQUET表中;

或者用复制表结构及数据的方式(create table as select * from table)

特点:

(1)默认格式;

(2)存储方式为行存储;

(3)磁盘开销大,数据解析开销大;

(4)但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作

2.SEQUENCEFILE
二进制文件以<key,value>的形式序列化到文件中;

存储方式:行存储;

可分割压缩;

-般选择block压缩;

优势是文件和Hadoop api中的mapfile是相互兼容的

3.RCFILE
存储方式:数据按行分块每块按照列存储;

压缩快快速列存取;

读记录尽量涉及到的block最少;

读取需要的列只需要读取每个row group的头部定义;

读取全量数据的操作性能可能比sequencefile没有明显的优势,

4.ORCFILE
存储方式:数据按行分块每块按照列存储;

压缩快快速列存取;

效率比rcfile高是rcfile的改良版本。

5.PARQUET
类似于ORC,相对于ORC文件格式,HADOOP生态系统中大部分工程都支持PARQUET文件

hive哪些操作会有mapreduce

select,不带count,sum,group by这样的,都不走map/reduce,直接读取hdfs文件进行filter过滤。这样做的好处就是不新开mr任务,执行效率要提高不少,但是不好的地方就是用户界面不友好,有时候数据量大还是要等很长时间,但是又没有任何返回。

1.hive -H 查看hive命令

1.hive -e SQL语句
hive -e “select * from tname”
2.hive -f SQL文件
hive -f test0330.sql
test0330.sql文件

create table … temp01 select * from emp;
create table … temp02 select * from dept;

insert into dws_result
select * from temp01 left join temp02…;
3.hive -i
定义UDF函数

2.库相关的语法
1.create

CREATE [REMOTE] (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
	[COMMENT database_comment]
	[LOCATION hdfs_path]
	[MANAGEDLOCATION hdfs_path]
	[WITH DBPROPERTIES (property_name=property_value,...)];
CREATE DATABASE test;

不加LOCATION的,对应的HDFS的地址是:/user/hive/warehouse/test.db

2.drop
drop database test;
如果库中有表存在,不允许删除。

如果需要删除(1.把所有的表删了)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值