hive使用小结

这篇博客总结了Hive的使用经验,包括各版本特征、基础操作如命令行接口、Hive SQL、Serde的使用,以及优化策略如Hive JOIN和文件格式压缩。还探讨了Hive与MapReduce、Tez、Spark的关系和性能比较,并介绍了与其他数据库如HBase、MySQL的交互方法。最后提到了类似工具如Impala和Presto的对比。
摘要由CSDN通过智能技术生成

hive各版本主要特征

Hive 各版本关键新特性(Key New Feature)介绍

官网下载页面的介绍


hive基础

命令行接口

hive提供的用户接口包括:CLI、Client、WebUI几种方式,我们平常主要使用CLI方式,未来集群升级之后可能会有提供可视化的界面允许我们直接从WebUi访问。

早期的hive版本主要使用HIVE CLI(old),之后发展为使用BeeLine CLI(new),目前SA已经切换为使用beeline。在CLI模式下,我们常用的命令包括:

  • set

用于查看和设置hive的配置参数,例如控制reduce数量、控制压缩格式等。

  • add jars

添加额外的jar包到hive运行环境,例如自定义了UDF/UDAF的jar包,可以通过这种方式添加

hive> ! ls;可以在hive里边直接运行shell命令

  • dfs

例如运行hive> dfs -ls /src/gamein/g4_sdc/;这样就不用开额外的session去运行hadoop fs -ls

Hive Sql

hive sql语法和我们使用的mysql语法基本类似,具体可以参考官网【DDL】和【DML】,支持的运算符,字符串、数字、日期等方法,内建的UDF,UDAF,UDTF参考官方手册【UDF-WIKI】。UDTF我们用的比较少,但需要的情况下会非常好用,例如Lateral View和Explode的配合使用可以展开数据【一个lateral view的例子】。除了使用UDF-WIKI查看hive的函数,也可以在命令行里边查看。

hive> show functions; --显示所有函数

hive> describe function substr;  --查看函数[substr]的用法
OK
substr(str, pos[, len]) - returns the substring of str that starts at pos and is of length len orsubstr(bin, pos[, len]) - returns the slice of byte array that starts at pos and is of length len
Time taken: 1.368 seconds, Fetched: 1 row(s)

这个功能不像mysql那样强大,mysql下支持“?”语法,例如在mysql命令行下查看load data的使用语法
mysql> ? load data;

Hive Serde

我们使用hive Serde的频率未来会越来越高。hive serde是指数据IO的序列化和反序列化,主要作用是解析hdfs文件,识别其中的格式。早期的一些hive-serde包已经废弃,最新文档参考【官方serde-wiki】,目前hive支持的内建serde如下,未来我们升级到hive1.0之后,下面这些就全部可以用了。

  • Avro (Hive 0.9.1 and later)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值