`

Hive SQL自带函数总结

 
阅读更多
字符串长度函数:length
语法: length(string A)
返回值: int
说明:返回字符串A的长度
举例:
hive> select length(‘abcedfg’) from dual;
7

字符串反转函数:reverse
语法: reverse(string A)
返回值: string
说明:返回字符串A的反转结果
举例:
hive> select reverse(‘abcedfg’) from dual;
gfdecba

字符串连接函数:concat
语法: concat(string A, string B…)
返回值: string
说明:返回输入字符串连接后的结果,支持任意个输入字符串
举例:
hive> select concat(‘abc’,'def’,'gh’) from dual;
abcdefgh

带分隔符字符串连接函数:concat_ws
语法: concat_ws(string SEP, string A, string B…)
返回值: string
说明:返回输入字符串连接后的结果,SEP表示各个字符串间的分隔符
举例:
hive> select concat_ws(',','abc','def','gh') from dual;
abc,def,gh

字符串截取函数:substr,substring
语法: substr(string A, int start),substring(string A, int start)
返回值: string
说明:返回字符串A从start位置到结尾的字符串
举例:
hive> select substr('abcde',3) from dual;
cde
hive> select substring(‘abcde’,3) from dual;
cde
hive>  select substr(‘abcde’,-1) from dual;  (和ORACLE相同)
e

字符串转大写函数:upper,ucase
语法: upper(string A) ucase(string A)
返回值: string
说明:返回字符串A的大写格式
举例:
hive> select upper(‘abSEd’) from dual;
ABSED
hive> select ucase(‘abSEd’) from dual;
ABSED

字符串转小写函数:lower,lcase
语法: lower(string A) lcase(string A)
返回值: string
说明:返回字符串A的小写格式
举例:
hive> select lower(‘abSEd’) from dual;
absed
hive> select lcase(‘abSEd’) from dual;
absed

去空格函数:trim
语法: trim(string A)
返回值: string
说明:去除字符串两边的空格
举例:
hive> select trim(‘ abc ‘) from dual;
abc

左边去空格函数:ltrim
语法: ltrim(string A)
返回值: string
说明:去除字符串左边的空格
举例:
hive> select ltrim(‘ abc ‘) from dual;
abc

右边去空格函数:rtrim
语法: rtrim(string A)
返回值: string
说明:去除字符串右边的空格
举例:
hive> select rtrim(‘ abc ‘) from dual;
abc

正则表达式替换函数:regexp_replace
语法: regexp_replace(string A, string B, string C)
返回值: string
说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符
举例:
hive> select regexp_replace(‘foobar’, ‘oo|ar’, ”) from dual;
fb

正则表达式解析函数:regexp_extract
语法: regexp_extract(string subject, string pattern, int index)
返回值: string
说明:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。注意,在有些情况下要使用转义字符
举例:
hive> select regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 1) from dual;
the
hive> select regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) from dual;
bar
hive> select regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 0) from dual;
foothebar

URL解析函数:parse_url
语法: parse_url(string urlString, string partToExtract [, string keyToExtract])
返回值: string
说明:返回URL中指定的部分。partToExtract的有效值为:HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, and USERINFO.
举例:
hive> select parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1′, ‘HOST’) from dual;
facebook.com
hive> select parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1′, ‘QUERY’, ‘k1′) from dual;
v1

json解析函数:get_json_object
语法: get_json_object(string json_string, string path)
返回值: string
说明:解析json的字符串json_string,返回path指定的内容。如果输入的json字符串无效,那么返回NULL。
举例:
hive> select  get_json_object(‘{“store”:
>   {“fruit”:\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],
>    “bicycle”:{“price”:19.95,”color”:”red”}
>   },
>  “email”:”amy@only_for_json_udf_test.net”,
>  “owner”:”amy”
> }
> ‘,’$.owner’) from dual;
amy

空格字符串函数:space
语法: space(int n)
返回值: string
说明:返回长度为n的字符串
举例:
hive> select space(10) from dual;
hive> select length(space(10)) from dual;
10

重复字符串函数:repeat
语法: repeat(string str, int n)
返回值: string
说明:返回重复n次后的str字符串
举例:
hive> select repeat(‘abc’,5) from dual;
abcabcabcabcabc

首字符ascii函数:ascii
语法: ascii(string str)
返回值: int
说明:返回字符串str第一个字符的ascii码
举例:
hive> select ascii(‘abcde’) from dual;
97

左补足函数:lpad
语法: lpad(string str, int len, string pad)
返回值: string
说明:将str进行用pad进行左补足到len位
举例:
hive> select lpad(‘abc’,10,’td’) from dual;
tdtdtdtabc
与GP,ORACLE不同,pad 不能默认

右补足函数:rpad
语法: rpad(string str, int len, string pad)
返回值: string
说明:将str进行用pad进行右补足到len位
举例:
hive> select rpad(‘abc’,10,’td’) from dual;
abctdtdtdt

分割字符串函数: split
语法:  split(string str, string pat)
返回值:  array
说明: 按照pat字符串分割str,会返回分割后的字符串数组
举例:
hive> select split(‘abtcdtef’,'t’) from dual;
["ab","cd","ef"]

集合查找函数: find_in_set
语法: find_in_set(string str, string strList)
返回值: int
说明: 返回str在strlist第一次出现的位置,strlist是用逗号分割的字符串。如果没有找该str字符,则返回0
举例:
hive> select find_in_set(‘ab’,'ef,ab,de’) from dual;
2
hive> select find_in_set(‘at’,'ef,ab,de’) from dual;
0


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Hive中SQL详解

    Hive SQL支持绝大多数的语句,如DDL、DML、聚合函数、连接查询、条件查询等。 Hive不适合用于联机online事务处理,也不提供实时查询功能,但最适合应用在基于大量不可变数据的批处理作业。 Hive的特点 * 可伸缩:...

    hive1_2_1jars.zip

    与Hive的集成也得到了增强,比如更好的Hive UDF(用户定义函数)支持和更高的查询并发性。 **总结** “hive1_2_1jars.zip”压缩文件是为了使Spark 3能够正确配置连接到Hive 1.2.1版本的元存储。配置`spark.sql....

    数据分析系统Hive

    2. **元数据存储 (Metastore)**:这是 Hive 存储表定义、分区等元数据的地方,默认情况下会使用自带的 Derby 数据库进行存储,但在生产环境中通常会使用 MySQL 等更为强大的数据库管理系统。 3. **驱动器 (Driver)**...

    尚硅谷大数据技术之 Hive1

    总结来说,Hive是大数据分析领域的重要工具,它利用Hadoop生态系统提供了一种易于使用的数据处理和分析平台,特别适合大规模数据集的批处理任务。然而,由于其设计目标和底层实现,它在实时性和查询复杂性方面与传统...

    Hive原理及使用笔记(精华版)

    Hive在元数据存储方面,通常默认使用自带的derby数据库,但出于性能和可靠性的考虑,推荐使用MySQL数据库来存储元数据(Metastore)。Metastore存储了表名、数据库、表的拥有者、列/分区字段等元数据信息,这些信息...

    大数据技术之Hive-01(基础).pdf

    在优缺点方面,Hive的主要优点包括操作接口采用类SQL语法,这使得它简单易学、易于上手,同时也支持用户自定义函数,极大的提升了开发人员对数据分析的效率。但是,Hive的HQL表达能力有限,不适合执行迭代式算法,...

    hive基础语法

    - 通过ROWFORMAT定义数据行的格式,如字段分隔符、集合分隔符等,如果未指定则默认使用Hive自带的序列化和反序列化器(SerDe)。 - 指定数据存储格式,支持多种格式,包括SEQUENCEFILE、TEXTFILE、RCFILE等。 - ...

    hive初始入门

    - **定位**:作为 Hadoop 生态系统中的一个重要组成部分,Hive 主要用于处理结构化的数据,它能够将结构化的数据文件映射成一张表,并提供类似 SQL 的查询语言——HQL,以便于数据的检索和分析。 - **Hive 的特点*...

    brickhouse-0.7.1-SNAPSHOT.jar

    然而,尽管Hive自带了一套基础的用户定义函数(UDF),但在面对特定业务需求时,这些内置函数往往不足以满足需求。这时,第三方扩展库如brickhouse就显得尤为重要。本文将详述brickhouse-0.7.1-SNAPSHOT.jar,一个专...

    Framework-Of-BigData:大数据面试题,从0到1走向架构师之路。Flink、Spark、Hive、HBase、Hadoop、Kettle、Kafka..

    每周日更新项目系列一、大数据项目面试系列优秀文章目录一、HadoopHDFS是如何设计架构的最新Hadoop面试题总结二、Flink十分钟入门Fink SQLFlink SQL——Table与DataStream之间的互转(超详细)Flink SQL Sink(文件、...

    datav.js

    例如,`HiveQL函数手册.doc`和`HiveQL中自带的数学函数.docx`中详细介绍了HiveQL提供的内置函数,包括统计函数、数学函数等,这些函数可以帮助用户进行复杂的数据计算和分析。 在Hadoop生态系统中,Hive主要负责...

    华为HCIA-大数据认证练试题与答案-202010.pdf

    Spark SQL 支持大部分 Hive 语法和函数,但并不支持所有的 Hive 自定义函数。 8. Spark 在 FusionInsight 集群中的交互:Spark 可以与 HDFSB、YARN、Hive 和 ZooKeeper 等组件交互,以完成数据处理和任务协调。 9....

    嵌入式系统/ARM技术中的出厂设置的恢复—HIVE注册表

    Hive提供了对大数据的结构化查询能力,允许用户通过类似SQL的语言(HQL,Hive Query Language)来操作和分析存储在分布式环境中的数据。Hive将数据文件映射成数据库表的形式,使得数据处理变得更加简单和高效。它...

    Hadoop学习必看路线图2.pdf

    - **Hive SQL查询**:掌握使用HQL(Hive Query Language)进行复杂的数据查询和分析的能力。 #### 八、分布式存储系统HBase - **HBase表结构设计**:学习如何合理设计HBase中的表结构以满足不同的业务需求。 - **...

    Hadoop - Sams Teach Yourself Hadoop

    - **数据导入方法**:包括使用Hadoop自带工具(如`hadoop fs`命令)、第三方工具(如Sqoop)等方式。 - **数据格式选择**:如文本文件、序列文件、Parquet等不同格式的选择对后续处理性能的影响。 - **最佳实践**:...

    VSCode-portable

    Hive-sql插件则是为了处理大数据查询而设计的,它允许用户在VSCode中编写和执行HiveQL语句,与Hadoop Hive交互,这对于数据工程师和分析师来说非常实用。通过这个插件,开发者可以直接在VSCode中进行数据探索和处理...

    hadoop-2.9.2

    Hadoop生态系统还包括许多相关项目,如Hive(SQL-like查询工具)、Pig(数据分析平台)、HBase(NoSQL数据库)、Oozie(工作流调度系统)和Zookeeper(协调服务)。这些工具协同工作,为大数据分析提供了完整的解决...

    圖解SPARK:核心技術與案例實戰 ---高清完整版

    - **Spark SQL**:Spark用于处理结构化数据的模块,支持SQL查询和Hive数据仓库。 - **Spark Streaming**:支持实时数据流处理的组件。 - **MLlib**:机器学习库,提供了常见的机器学习算法和工具。 - **GraphX**...

Global site tag (gtag.js) - Google Analytics