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的函数,也可以在命令行里边查看。
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)
Hive Serde
我们使用hive Serde的频率未来会越来越高。hive serde是指数据IO的序列化和反序列化,主要作用是解析hdfs文件,识别其中的格式。早期的一些hive-serde包已经废弃,最新文档参考【官方serde-wiki】,目前hive支持的内建serde如下,未来我们升级到hive1.0之后,下面这些就全部可以用了。
- Avro (Hive 0.9.1 and later)