![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hive
万事无Bug
南昌大学 低调学Java
展开
-
Impala
ImpalaImpala概述:Impala是个实时的sql查询工具,类似于Hive的操作方式,但是执行效率极高,号称当下大数据生态圈中执行效率最高的sql类软件Impala工作底层执行依赖于hive,与hive共用一套元数据存储,在使用Impala的时候,必须保证hive服务是正常可靠的,至少metastore开启。Impala最大的跟hive不同点在于不再把sql编译成mr程序执行,而是编译成执行计划树Impala的sql语法几乎兼容hive的sql语句Impala优点:Impala不原创 2021-10-28 16:35:31 · 858 阅读 · 0 评论 -
Hive JSON数据处理
Hive JSON数据处理一、使用内置json解析函数1、方式一:使用JSON函数来处理函数1:get_json_object函数2:json_tuple二、方式二:JSONSerde加载数据概述:Hive中为了简化对Json文件的处理,内置了一种专门用于解析json文件的Serde解析器,在创建表时,只要指定使用JSONSerde解析表的文件,就会自动将JSON文件中的每一列进行解析。建表,加载json文件总结:...原创 2021-10-27 16:04:56 · 1071 阅读 · 0 评论 -
Hive行列转换
Hive行列转换1、多行转多列案例:sql实现:case when语法介绍原创 2021-10-27 12:01:55 · 170 阅读 · 0 评论 -
Hive中URL解析函数
Hive中URL解析函数1、parse_url函数功能:parse_url函数是Hive中提供的最基本的url解析函数,可以根据指定的参数,从url解析出对应的参数值进行返回,函数为普通的一对一函数类型。语法:代码示例:parse_url函数弊端:如果想要解析多个参数,需要使用多次函数2、parse_url_tuple函数可以实现同时解析多个参数3、Lateral View侧视图功能:单个lateral view使用:多个lateral view使用:Outer原创 2021-10-27 11:27:40 · 1764 阅读 · 0 评论 -
Hive多字节分隔符处理
Hive多字节分隔符处理.问题:当我们存放在表目录下的数据,其分隔符是多字节分隔符,例如:“||”,“–”等,或者数据的字段中也包含了分隔符。则Hive在解析数据文件时就会出现错误。解决方案1:替换分隔符使用MR程序提前将分隔符替换成单字节分隔符解决方案2:RegexSerDE正则加载.建表加载示例:解决方案3:自定义InputFormat类不推荐使用...原创 2021-10-26 20:37:19 · 429 阅读 · 0 评论 -
Hive抽样函数
Hive抽样函数概述:当数据量过大时,我们需要查找数据子集以加快数据处理速度分析。这就是抽样,采样,一种用于识别和分析数据中的子集的技术,以发现整个数据集中的模式和趋势。在HQL中,有三种方式采样数据:随机采样,存储桶表采样,块采样1、Random随机抽样随机抽样采用rand()函数来确保随机获得数据,LIMIT来限制抽取的数据个数。优点:随机 缺点:速度慢2、基于数据块抽样:Block块采样允许随机获取n行数据,百分比数据或指定大小的数据。采样粒度是HDFS块大小优点是速度快,缺原创 2021-10-26 17:32:36 · 1088 阅读 · 0 评论 -
Hive窗口函数
Hive窗口函数概述:窗口函数也叫开窗函数,OLAP函数,其最大特点是:输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。如果函数具有OVER子句,则它是窗口函数。窗口函数可以简单解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行,最终输出一行,窗口聚合函数后还可以访问当中各个行,并且可以将这些行中的某些属性添加到结果集中。窗口聚合函数执行结果:窗口表达式:窗口排序函数:代码示例:窗口排序函数——ntile窗原创 2021-10-26 11:41:25 · 100 阅读 · 0 评论 -
Hive内置函数及代码示例
Hive内置函数1、字符串函数select concat("angela","baby");--带分隔符字符串连接函数:concat_ws(separator, [string | array(string)]+)select concat_ws('.', 'www', array('itcast', 'cn'));--字符串截取函数:substr(str, pos[, len]) 或者 substring(str, pos[, len])select substr("angelababy",原创 2021-10-25 17:43:24 · 643 阅读 · 0 评论 -
Hive Views视图
Hive视图概念:Hive中视图是一种虚拟表,只存储定义不存储数据。通常从真实的物理表中创建生成视图,也可以从已经存在的视图上创建新视图。创建视图时,将会冻结视图的架构如果删除或者修改了基础表,视图将失效视图只是用来简化操作,不存储记录,也没有提高查询性能视图使用示例:使用视图好处:1、将真实表中特定的列数据以视图形式展示给用户,可以保护数据隐私2、降低查询语句的复杂度,简化查询语句物化视图(Hive3.0新特性,这里的物化是个形容词哦)物化视图语法:基于物化视图的查询重写加原创 2021-10-25 14:55:50 · 909 阅读 · 0 评论 -
Hive事务表的创建
Hive事务表的创建及使用开启事务配置:创建Hive事务表:事务表必须是桶表哦~事务表的局限性:原创 2021-10-25 14:16:53 · 1880 阅读 · 0 评论 -
Hive分桶表
Hive分桶表概述:分桶表也叫桶表,是一种用于优化查询而设计的表类型分桶表对应的数据文件在底层会被分解为若干个小部分在分桶时,要指定根据哪个字段将数据分为几桶(几个部分)分桶规则:分桶表的创建:分桶表数据的加载:分桶表优势:1、减少全表查询2、JOIN时可以提高效率,减少笛卡尔积数量3、提高抽样的效率...原创 2021-10-25 11:46:41 · 703 阅读 · 0 评论 -
Hive分区表
Hive分区表概述:当Hive表数据量过大,文件数过多时,为了避免查询时全表扫描数据,Hive支持根据指定的字段对表进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。比如把一整年的数据分成12个月(12个分区),后续就可以查询指定的分区的数据,尽可能避免全表扫描查询。Hive建表完整语法树:标红语句是创建分区表关键注意:分区字段不可以是表中已经存在的字段!!!因为分区字段最终也会以虚拟形式显示在表结构中!!分区表数据加载——静态分区静态分区指分区属性值是由用户加载数据时原创 2021-10-25 11:07:16 · 839 阅读 · 0 评论 -
Metastore配置方式
Metastore配置方式概述:内嵌模式:本地模式:远程模式:原创 2021-10-21 11:45:22 · 139 阅读 · 0 评论