hive-sql语法
文章平均质量分 77
村口蹲点的阿三
抱狙蹲点
展开
-
Spark SQL 中对 Map 类型的操作函数
Spark SQL 提供丰富的 map 操作函数,包括创建 (map、map_from_arrays)、访问键值 (map_keys、map_values)、修改 (map_concat、transform_keys)、过滤 (map_filter)、检查 (map_contains_key)、以及高级操作 (explode、posexplode) 等,简化复杂键值对数据的处理和分析。原创 2025-01-20 16:57:42 · 628 阅读 · 0 评论 -
spark sql中对array数组类型操作函数列表
SparkSQL提供了丰富的array操作函数,可以满足创建、访问、修改、过滤、聚合等多种需求。无论是对数组进行基础操作(如访问元素、排序、去重),还是高级操作(如条件过滤、函数式编程),都可以轻松实现。通过熟练掌握这些函数,开发者可以高效地处理复杂的数组数据。原创 2025-01-20 16:18:17 · 1169 阅读 · 0 评论 -
Spark SQL中的from_json函数详解
from_json函数需要明确的模式定义(schema),以便将JSON字符串解析为结构化数据。from_json的options参数提供了灵活的JSON解析配置,适用于各种复杂或非标准的JSON数据场景。容错性控制:使用mode和。时间和日期解析:使用和dateFormat。非标准JSON支持:使用multiLine等。from_json是SparkSQL中处理JSON数据的核心工具,它的核心是通过指定的schema将JSON字符串解析为结构化数据。原创 2025-01-20 15:07:08 · 880 阅读 · 0 评论 -
解析Hive中的嵌套JSON数组:方法与实践
本文详细讨论了在Hive中解析复杂的JSON数据结构,特别是包含嵌套数组的JSON格式。文章首先介绍了使用Hive内置函数如`get_json_object`和`json_tuple`进行简单JSON解析的方法。随后,针对更复杂的嵌套JSON数组,提出了两种高效的解析策略:一是通过正则表达式和特殊字符处理,二是利用内置解析器JsonSerde进行结构化数据转换。通过具体的SQL示例,文章展示了如何从复杂的JSON结构中提取关键信息,如会员编号、城市名称和公寓名称。最终,通过表格形式展示了解析结果,证明了所提原创 2024-10-10 11:45:28 · 942 阅读 · 0 评论 -
深入理解 Hive SQL 中的 TRANSFORM 函数
本文详细介绍了 Hive SQL 中 TRANSFORM 函数的使用方法和应用场景。TRANSFORM 是一个强大的工具,用于在 SQL 查询中直接进行复杂的数据转换,或调用外部脚本进行自定义的数据处理。文章首先解释了 TRANSFORM 函数的基本用法,通过实例演示如何将销售物品列表中的每个项目提取出来并计算销售数量。接着,展示了如何使用 TRANSFORM 结合 regexp_replace 函数解决数组中的枚举值替换问题。最后,介绍了如何利用 TRANSFORM 调用外部 Python 脚本进行数据转原创 2024-09-26 10:39:47 · 1490 阅读 · 0 评论 -
实现开窗count distinct 历史累计截止日期去重统计
解决问题:hive中count(distinct ) over() 无法使用场景累计去除统计,实际经常使用到的场景比如会员每日历史累计消费,项目每日累计营收等。案例:数据准备:用户轨迹用户访问日志表 test_visit_tabcookieid(用户id) uvdate(访问时间) pagename(浏览页面) pv(访问次数)cookie1 2022-02-01 A_page 1cookie1 2022-02-01 B_page 2cookie1 2022-02-0..原创 2022-02-24 18:32:20 · 9274 阅读 · 0 评论 -
hive explain 执行计划详解看懂执行过程
HIVE简介讲explain之前,先了解大家常说的用hive查询取数和etl的过程,但是在讲hive查询取数过程,又得先了解大家又常说的hadoop集群到底是干什么的?一句话概括:Hadoop就是存储海量数据和分析海量数据的工具。Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。 HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进原创 2021-10-01 12:01:53 · 4003 阅读 · 1 评论 -
HIVE HDFS对NULL值处理
hive 写入null后在hdfs 中显示\N 存储,如果直接读取hdfs则会直接读到\N数值如何解决这个问题,需要对表属性中的null值存储进行修改,具体的表serialization.null.format可以在desc formatted 查询具体表属性Storage Desc Params: serialization.format 1 serialization.null.format N 场景构建:临时表创建CREATE T原创 2021-10-01 10:23:20 · 1868 阅读 · 0 评论 -
hive 开窗函数OVER(PARTITION)详解(二)
窗口函数有哪些?窗口函数可以分为以下 3 类:聚合(Aggregate):AVG(),COUNT(),MIN(),MAX(),SUM()...sum(col) over() : 分组对col累计求和 count(col) over() : 分组对col累计计数 min(col) over() : 分组对col求最小 max(col) over() : 分组求col的最大值 avg(col) over() : 分组求col列的平均值取值(Value):FIRST_VALUE(),LAS...原创 2021-09-27 16:53:50 · 1784 阅读 · 0 评论 -
hive 开窗函数OVER(PARTITION)详解(一)
什么是窗口函数?窗口函数(Window Function)是 SQL2003 标准中定义的一项新特性,并在 SQL2011、SQL2016 中又加以完善,添加了若干处拓展。窗口函数不同于我们熟悉的普通函数和聚合函数,它为每行数据进行一次计算:输入多行(一个窗口)、返回一个值。在报表等分析型查询中,窗口函数能优雅地表达某些需求,发挥不可替代的作用。窗口函数出现在 SELECT 子句的表达式列表中,它最显著的特点就是OVER关键字。语法定义如下:window_function (expres...原创 2021-09-23 11:01:00 · 2815 阅读 · 0 评论 -
Hive lateral view 用法-行转列
Hive: lateral view 用法lateral view 的语法格式lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (','columnAlias)* fromClause: FROM baseTable (lateralView)*用法描述lateral view 要与UDTF函数一起使用,比如 explode() 函数。这里的UDTF函数是指用户自定义的表生成函数(英文全称:use.原创 2021-09-22 19:29:37 · 706 阅读 · 0 评论 -
HIVE left semi join & inner join区别
left semi join 详解LEFT SEMI JOIN以一种高效的方式实现了不相关的IN/EXISTS子查询语义。 在Hive 0.13中,IN/NOT IN/EXISTS/NOT EXISTS操作符被支持使用子查询,所以大多数join操作不再需要手动执行。 使用LEFT SEMI JOIN的限制是,右边的表只能在连接条件(on子句)中引用,而不能在WHERE或select子句等中引用。示例SELECT a.key, a.valueFROM aWHERE a.key in (SELECT原创 2021-09-22 15:41:35 · 879 阅读 · 0 评论 -
hive 动态分区与混合分区写入
hive分区测试:hive分区建立,静态、动态、混合分区,在混合中静态分区要在动态分区之前。删除时间段分区在partition()里面逻辑符用逗号, 比如时间段分区-- 批量删除分区数据alter table tmp_test.tmptable drop partition(dt>='20191101',dt<='20191130')分区数据写入创建一个分区测试表use tmp_test;drop table if exists tmp_test.cs_原创 2021-09-22 10:09:38 · 954 阅读 · 0 评论 -
HIVE 转义字符与特殊字符处理
Hadoop和Hive都是用UTF-8编码的,hive用java写的,所以同Java一样都是'\'转义很多函数会用到转义字符,比如split、regexp_replace等但是有时候需要两个转义字符"\\",或者四个转义字符“\\\\”单转义符'\':常规的为'\'进行字符串的转义 双转移符'\\':正则表达式匹配或者split函数中包含转义符 四个转义符'\\\\':split函数中存在转义符'\'为分隔符 分号:';'无法识别和转义,需要使用ASCII码处理(只要使用到了函数就会报错)原创 2021-09-18 15:27:32 · 10459 阅读 · 0 评论 -
hive正则匹配:regexp_replace、regexp_extract、regexp
hive正则匹配:regexp_replace、regexp_extract、regexp一、regexp语法介绍regexp语法: A REGEXP B操作类型: strings描述: 功能与RLIKE相同regexp_extract语法: regexp_extract(string subject, string pattern, int index)返回值: string说明:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。原创 2021-09-16 03:03:16 · 30167 阅读 · 0 评论 -
hive 字符串提取&json格式解析
前言在数据存储时研发端经常为了方便很多字段为了冗余存储了文本格式:json或者固定分隔符,但是数仓和数据分析在处理的时候又要进行取出单独的某个字段,进行使用,本文会详解下平时在工作中遇到的问题与处理办法。字符串固定分隔符处理案例:字符串以:|*|分隔,k-v以:分隔,取出其中scene_ids字段值字符串:|*|cityId:201|*|qId:4890f057-8c8d-4fd6-8029-9ec8a374ab3b|*|st:poi|*|sId:62778388|*|scene_ids:6,0原创 2021-09-13 10:17:46 · 6341 阅读 · 0 评论
分享