大数据面试SQL每日一题系列:最高峰同时在线主播人数。字节,快手等大厂高频面试题 之后会不定期更新每日一题sql系列。 SQL面试题每日一题系列内容均来自于网络以及实际使用情况收集,如有雷同,纯属巧合。 1.题目 问题1:如下为某直播平台各主播的开播及关播时间数据明细,现在需要计算该平台最高峰期同时在线的主播人数。 问题2:以下为某直播间用户上线与下线的时间数据明细,现求该直播间最高峰同时在线的用户人数。 以上两个问法为同一问题。 2.基础数据准备 createtableifnotexiststemp.user_login_info( `id`bigintcomment'用户id', `sta...

  Ku3edDmxXuM9   2天前   5   0   0 大数据

经常有小伙伴和我咨询大数据怎么学,我觉得有必要写一下关于大数据开发的具体方向,下次就不用苦哈哈的打字回复了。直接回复文章。 1.大数据岗位划分 我们通常说的大数据开发主要分为三大方向: 1.1数据平台开发工程师 主要从事后端开发,结合Hadoop,flink,spark等做二次开发,基于底层框架开发自己公司定制化的大数据产品,保障公司大数据技术平台的功能完整性和可用性,侧重Java等程序语言的后端开发能力以及对框架的了解。 1.2数据仓库工程师 主要从事数据建模,数据质量建设,数据治理,构建业务体系需要的数据等工作。侧重对数仓数据流转过程的理解以及SQL能力,还有使用程序语言处理数据的能力。例...

  Ku3edDmxXuM9   10天前   16   0   0 大数据

1.什么是SQL子查询 要理解相关子查询和非相关子查询,我们得首先理解什么是子查询,子查询是指在一个查询语句中嵌套的另一个查询语句。子查询可以嵌套在其他查询语句中,如SELECT、INSERT、UPDATE、DELETE等,它作为一个独立的查询单元,其结果可以被外部查询所使用。子查询可以帮助我们更灵活地处理数据和执行复杂的查询操作。 2.sql子查询分类 子查询主要有以下几类: 标量子查询:子查询返回的是单个值,如一个数字、字符串等。 行子查询:子查询返回的是一行数据。 列子查询:子查询返回的是一列数据。 表子查询:子查询返回的是一个表的结果。 3.子查询执行过程解析 子查询的执行过程遵循...

  Ku3edDmxXuM9   12天前   15   0   0 大数据

1.综述 本文以HiveSQL语法进行代码演示。 对于其他数据库来说同样也适用,比如SparkSQL,FlinkSQL以及Mysql8,Oracle,SqlServer等传统的关系型数据库。 已更新第一类聚合函数类,点击这里阅读①SQL窗口函数系列一之聚合函数类 ②SQL窗口函数系列二之分组排序窗口函数 本节介绍Hive窗口分析函数中的第三类窗口函数:偏移量类窗口函数。 在实际的应用场景中,顾名思义,偏移量分析函数主要应用于求解和指定偏移数据的差值。例如和上一行数据差值,和下一行数据差值。 有什么实际意义呢?例如,每行数据是天粒度的,那么上下行的差值计算就是前后天的数据增长量或者减少量,比le...

  Ku3edDmxXuM9   14天前   21   0   0 大数据

今天是一篇架构分享内容。 1.概述 以Flink为主的计算引擎配合OLAP查询分析引擎组合进而构建实时数仓,其技术方案的选择是我们在技术选型过程中最常见的问题之一。也是很多公司和业务支持过程中会实实在在遇到的问题。 很多人一提起实时数仓,就直接大谈特谈Hudi,Flink的流批一体等,但实际上,实时数仓包括任何架构体系的构建如果我们抛开成本和稳定性谈技术,那都是有耍流氓的嫌疑。 本文主要给大家进行实时数仓构建的技术选型提供一些经验与思考,面试中如果被问及,也可以谈谈。 2.实时数仓的现状 目前大多数公司的实时数仓业务完全基于Flink计算引擎来搭建实时数据链路,尤其是大多数具有中大流量,或者业...

  Ku3edDmxXuM9   24天前   29   0   0 大数据

1.综述 我们讨论面试中各大厂的SQL算法面试题,往往核心考点就在于窗口函数,所以掌握好了窗口函数,面对SQL算法面试往往事半功倍。 已更新第一类聚合函数类,点击这里阅读hive窗口函数聚合函数类 本节介绍Hive聚合函数中的第二类聚合函数:分组排序窗口函数。 这些函数的用法不仅仅适用于Hive,对于很多数数据库来说同样也适用,比如SparkSQL,FlinkSQL以及Mysql8,Oracle,MSSQL等传统的关系型数据库。 如果论使用的广泛性,hive窗口函数中我们使用最广泛的就是排序类窗口函数,我们通常一提起窗口函数,想到的就是这类排序类窗口函数,它在我们进行数据去重中扮演了至关重要的...

  Ku3edDmxXuM9   26天前   33   0   0 大数据

1.综述 Hive的聚合函数衍生的窗口函数在我们进行数据处理和数据分析过程中起到了很大的作用 在Hive中,窗口函数允许你在结果集的行上进行计算,这些计算不会影响你查询的结果集的行数。 Hive提供的窗口和分析函数可以分为聚合函数类窗口函数,分组排序类窗口函数,偏移量计算类窗口函数。 本节主要介绍聚合函数类窗口函数的常见使用场景。 1.1.常见聚合类开窗函数 count()over(); sum()over(); max()over(); min()over(); avg()over(); 1.2.分析函数语法 分析函数over(partitionby列名orderby列名rowsbetwe...

  Ku3edDmxXuM9   2024年04月08日   38   0   0 大数据

概述 Hive的执行计划描述了一个hiveSQL语句的具体执行步骤,通过执行计划解读可以了解hiveSQL语句被解析器转换为相应程序语言的执行逻辑。通过执行逻辑可以知晓HiveSQL运行流程,进而对流程进行优化,实现更优的数据查询处理。 同样,通过执行计划,还可以了解到哪些不一样的SQL逻辑其实是等价的,哪些看似一样的逻辑其实是执行代价完全不一样。 如果说Hive优化是一堵技术路上的高墙,那么关于Hive执行计划,就是爬上这堵高墙的一架梯子。 不同版本的Hive会采用不同的方式生成的执行计划。主要区别就是基于规则生成hive执行计划,和基于成本代价来生成执行计划。而hive早期版本是基于规则生...

  Ku3edDmxXuM9   2023年11月01日   289   0   0 大数据

目录 概述 1.explaindependency的查询与使用 2.借助explaindependency解决一些常见问题 2.1.识别看似等价的SQL代码实际上是不等价的: 2.2通过explaindependency验证将过滤条件在不同位置的查询区别 3.查看SQL操作涉及到的相关权限信息 概述 Hive查看执行计划的命令中还有两个不怎么常用但很重要的命令,接下来详细介绍一下。 有一个问题:如何在hiveSQL执行之前就探查到这段逻辑的血缘依赖关系? hive血缘是很多生产级数仓必须要提供的功能,大多数解决方案都是使用hivehooks的方法通过SQL执行后解析得到hi...

  Ku3edDmxXuM9   2023年11月01日   64   0   0 大数据

Hive开启向量化模式也是hiveSQL优化方法中的一种,可以提升hive查询速率,也叫hive矢量化。 问题1:那么什么是hive向量化模式呢? 问题2:hive向量化什么情况下可以被使用,或者说它有哪些使用场景呢? 问题3:如何查看hive向量化使用的相关信息? 1.什么是hive向量化模式 hive向量化模式是hive的一个特性,也叫hive矢量化,在没有引入向量化的执行模式之前,一般的查询操作一次只处理一行数据,在向量化查询执行时一次处理1024行的块来简化系统底层的操作,提高了数据处理的性能。 在底层,hive提供的向量模式,并不是重写了Mapper函数,而是通过实现inputfor...

  Ku3edDmxXuM9   2023年11月01日   91   0   0 大数据

目录 目录 概述 1.不带函数操作的select-from-where型简单SQL 1.1执行示例 1.2运行逻辑分析 1.3伪代码解释 2.带普通函数和运行操作符的普通型SQL执行计划解读 2.1执行计划解读 2.2伪代码解释逻辑 概述 可能所有的SQLboy刚接触SQL语句的时候都是selectxxxfromxxxwherexxx。在hive中,我们把这种语句称为select-from-where型语句,也可称为简单SQL,这类简单SQL是特指不含有变转换函数,聚合函数,开窗函数和连接操作的SQL语句。 这类SQL主要特征是只有map阶段,没有reduce阶段。 本...

  Ku3edDmxXuM9   2023年11月01日   84   0   0 大数据

这里整理一下Hive常见的时间函数和日期函数和用法,作为平时数据处理过程的一个检索和记录。 平时在数据处理过程中,如果不经常使用时间函数,一时间遇到一些时间上的处理,难免会想不起来。 hive本身提供的时间函数已经很丰富了,基本上能满足我们所有的需求,一些特殊需求也可以通过增加一些数学逻辑实现出来。 接下来看一下类别的日期和时间函数的使用方式。 1.时间戳和日期相互转换函数 具体执行结果在后面备注标注出来。主要为时间戳转换为日期函数,和将日期转换为时间戳函数 -1.时间戳转化为日期函数 -from_unixtime(bigintunixtime[,stringformat])其中第一个参数必须...

  Ku3edDmxXuM9   2023年11月01日   74   0   0 大数据

概述 前文我们写过简单SQL的性能分析和解读,简单SQL被归类为select-from-where型SQL语句,其主要特点是只有map阶段的数据处理,相当于直接从hive中取数出来,不需要经过行变化。在非多个节点的操作上,其性能甚至不比Tez和Spark差。 而这次我们主要说的是使用聚合类函数的hiveSQL,这类SQL需要完整的map阶段和reduce阶段才能完成数据处理。我们把它可以归类为select-aggr_function-from-where-groupby类型SQL语句。 在生产环境中我们一般常用的聚合函数见如下列表: 函数 参数格式 解释 count count(...

  Ku3edDmxXuM9   2023年11月01日   74   0   0 大数据

hive的高级分组聚合是指在聚合时使用GROUPINGSETS、CUBE和ROLLUP的分组聚合。 高级分组聚合在很多数据库类SQL中都有出现,并非hive独有,这里只说明hive中的情况。 使用高级分组聚合不仅可以简化SQL语句,而且通常情况下会提升SQL语句的性能。 1.Groupingsets的使用 示例: -使用方式 selecta,b,sum(c)fromtblgroupbya,bgroupingsets(a,b) Groupingsets的子句允许在一个groupby语句中,指定多个分组聚合列。所有含有Groupingsets的子句都可以用union连接的多个groupby查询逻...

  Ku3edDmxXuM9   2023年11月01日   69   0   0 大数据
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~