数据仓库
文章平均质量分 63
牧码文
只要思想不滑坡,从此不怕bug多
展开
-
【Spark】Spark的DataFrame使用
Spark的DataFrame是一种类似于表格的数据结构,可以进行各种数据处理操作。使用DataFrame可以很方便地处理结构化数据(如CSV、JSON、Parquet等格式的数据)。原创 2023-03-07 18:48:31 · 1332 阅读 · 0 评论 -
【Spark】Spark的常用算子
使用给定的函数对 RDD 的元素进行聚合,seqOp 计算在分区中初始值到中间结果的聚合计算,而 combOp 在节点上对中间结果进行聚合。: 返回对输入 RDD 和参数 RDD 执行联合操作的结果,生成一个新的 RDD,不去重。: 返回对输入 RDD 和参数 RDD 执行交集操作的结果,生成一个新的 RDD。: 返回对输入 RDD 和参数 RDD 执行差集操作的结果,生成一个新的 RDD。: 返回对输入 RDD 和参数 RDD 执行笛卡尔积的结果,生成一个新的 RDD。原创 2023-03-07 18:03:45 · 2890 阅读 · 1 评论 -
秋招面经第十三弹:58同城一面-大数据开发工程师
总结:这次面试感觉面试官有点腼腆,问题并不是特别难,对于技术八股问的不多,对于一些网络、操作系统也是没问,但是对于项目和对数据仓库的理解问的比较多,可能面试官比较注重面试者的独自思考能力,问了我对数据域、开发流程的一些自己的见解和觉得不足的地方。写在最前:秋招以来一直在冲,因为事情比较多,对于笔试面试一直没有复盘,现在靠仅存的记忆把面试的一些问题记录下来,尽可能记录出能回忆到的问题,但可能记的不是很全。对于公司的分层,有一些自己的想法吗?存储的数据太大的时候,有什么方法降低存储吗?数据域是怎么划分的?原创 2022-12-02 06:00:00 · 708 阅读 · 4 评论 -
秋招面经第十二弹:东方航空一面-数据工程师
总结:虽然这次面试有点摆烂,而且面试行式有点不伦不类的,把技术面和hr面直接放在一起,但是我个人是比较喜欢这种行式的,一次性面完,绝不拖泥带水,不用担心一面结束等二面,二面结束等三面,而且面试的内容感觉来说也还可以接受,虽然是航空公司,但是面试的内容感觉他们确实在做数据开发,和开发岗也比较吻合,虽然hr有些咄咄逼人的感觉,但是技术面试官还是很温和的,不会特别强硬的问问题。hr先介绍了面试流程,说总共四个流程,先自我介绍,在hr问问题,再技术面问题,再由我反问。我回答,回家坐过你们的飞机,其他的不是很了解。原创 2022-12-01 06:00:00 · 796 阅读 · 0 评论 -
秋招面经第十一弹:沐瞳科技一面-大数据平台开发工程师
总结:因为是平台开发,对于后端开发的能力确实有限,java的问题回答的并不好,但是在问spark源码时候的方式很独特,可以真实的去考虑sql是怎么提交的,比着回答八股文,对了一些灵活性,而且分析代码得出结论的方式更能学到东西,总体来说,虽然java的问题回答的一探糊涂,但是大数据相关的面试经验又多了一些。这种源码的考察方式很独特,编都没法编,就仔细的分析了一下代码,把行动算子和shuffle算子罗列了一下,和面试官说了job和stage的数量,顺遍说了下job和stage底层是怎么划分的,拖延下时间。原创 2022-11-30 06:00:00 · 999 阅读 · 0 评论 -
秋招面经第十弹:字节跳动二面-大数据开发工程师(电商)
总结:二面的面试官有点老板风范,过程中不知道是在干其他事情,还是在记录我的面试情况,有时候会眼神在屏幕扫荡,面试问题比较针对于真实生产环境,对于没有实习经验的小伙伴可能不太友好,而且对项目问的也比较全面,一大半的时间都在问项目,总之,整体来说难度和体验都还可以。在这里我找到一个诀窍,能写代码的,尽量写代码,因为写代码比着口述,第一是可以让面试官融入自己的情感,知道你的处理逻辑,第二就是写代码就表现的很自信,因为大家都是尽量少些,而你主动去写,反向面试,惊呆面试官。开始死问项目,问的很细,怎么做的?原创 2022-11-29 06:00:00 · 753 阅读 · 0 评论 -
秋招面经第九弹:字节一面-大数据开发工程师(电商)
总结:字节的面试可能是一面的原因,整体感觉还可以,甚至给一种感觉没有一些小公司的难,但考察的面还是挺广的,对于底层的东西和基础的东西字节问的还是比较多,算法出了两个,本人的算法能力巨弱,好在出的比较简单,答得也比较顺利。写在最前:秋招以来一直在冲,因为事情比较多,对于笔试面试一直没有复盘,现在靠仅存的记忆把面试的一些问题记录下来,尽可能记录出能回忆到的问题,但可能记的不是很全。java的内存模型?面试官可能看我比较紧张,说缓解一下我的紧张情绪,下面正式开始,当时听完,更紧张。hive的udf怎么自定义的?原创 2022-11-28 06:30:00 · 383 阅读 · 0 评论 -
秋招面经第八弹:网易二面-数据开发工程师
总结:网易的面试整理来说还是有些难度的,有很多很深的问题,现在实在是想不出来了,只记得当时脑瓜子嗡嗡的,面试官也挺好,开始他做了自我介绍,应该是数据团队的负责人或者组长,当时走神了,全程一直在微笑,也没有不尊重面试者的表现,不像某些面试官期间会做其他的事情,一直等你回答完问题在说话,不会打断你,总之,收获还是挺多的,比较nice。写在最前:秋招以来一直在冲,因为事情比较多,对于笔试面试一直没有复盘,现在靠仅存的记忆把面试的一些问题记录下来,尽可能记录出能回忆到的问题,但可能记的不是很全。原创 2022-11-27 06:00:00 · 889 阅读 · 0 评论 -
秋招面经第七弹:网易一面-数据开发工程师
总结:网易一面其实还算友好,没有太刁难的问题,面试官也比较和善吧,因为时间太久确实想不起来这个面试的太多问题,可能不是很全,只回忆了几个比较记忆深刻的问题,见谅见谅。写在最前:秋招以来一直在冲,因为事情比较多,对于笔试面试一直没有复盘,现在靠仅存的记忆把面试的一些问题记录下来,尽可能记录出能回忆到的问题,但可能记的不是很全。不同于平常的数据倾斜提问,在我说出来一种加盐处理方式后,问我怎么加盐,我怀疑应该是太多人说这些了,面试官怀疑是背的八股,想看一下是不是真的处理过数据倾斜。项目中用户域是怎么做的?原创 2022-11-26 06:00:00 · 546 阅读 · 0 评论 -
秋招面经第六弹:理想一面-大数据开发工程师
总结:本次面试问的可以说有史以来最全的了,涉及到了很多的大数据相关的问题,而且又会涉及到源码,问的广度和深度都比较深,而且,面试官不是你回答完就结束了,会根据你的回答接着往下问你,总之这次面试之后感触还是很大的,下来把这些问题都整理了一下,这些问题在大数据面试中的出现频率也相当高了。写在最前:秋招以来一直在冲,因为事情比较多,对于笔试面试一直没有复盘,现在靠仅存的记忆把面试的一些问题记录下来,尽可能记录出能回忆到的问题,但可能记的不是很全。spark的执行流程?stage对于task的分发又是怎么做的?原创 2022-11-25 06:00:00 · 615 阅读 · 0 评论 -
秋招面经第五弹:一家上市小公司二面-大数据开发工程师
另外,在反问中了解到,现在公司在做数据仓库和数据开发业务时候,招人标准除了技术之外,想要找一些对业务理解较好的同学,通过这些也感受到了在大数据行业其实业务理解能力也是很重要的一环,在其他的面试中也有感受到,大数据行业除了技术外可能还需要有熟练的业务能力,以后也要多关注这些方面。反问时候问了岗位匹配度和岗位的工作内容,其实这个公司做的数据和政府数据有关,数据体量很大,但是政府部门多半不会用,所以工作内容对接的多是政府数据。这种问题,说一下影响范围较大的,但是结果没有恶劣影响的,而且自己解决的很完美的。原创 2022-11-24 06:00:00 · 630 阅读 · 0 评论 -
秋招面经第四弹:一家上市小公司一面-大数据开发工程师
这个问题一出来,我直接笑出了声,像这种问题,没有明确的主题,问项目怎么做的,那从开始到最后不得抓住机会好好回答,一口气说了三个项目的完成过程,浪费了大量时间,看时间用了挺多,就和面试官说我先介绍这三个,如果后续你想了解其他的,我再介绍。总结:这次面试可能是面试官第一个问题提问草率,我回答的时间太久了,以至于后面都没有多少时间问问题了,整体下来难度不大,都比较容易回答,也没有涉及太难的问题,但是从面试中和反问中可以感觉到他们使用的技术还是挺新的,总体感觉还可以。项目中的一些问题,问怎么做的?原创 2022-11-23 06:00:00 · 299 阅读 · 1 评论 -
秋招面经第三弹:oppo一面-大数据开发工程师
总结:整体下来面试问题的难度并不是很大,涉及的面也比较广,对于大数据的组件、还有一些项目问题,面试官应该也是一晚没睡想的这些题目,复盘的价值也是很高的。写在最前:秋招以来一直在冲,因为事情比较多,对于笔试面试一直没有复盘,现在靠仅存的记忆把面试的一些问题记录下来,尽可能记录出能回忆到的问题,但可能记的不是很全。问了几个情景问题,问如果数据出现了告警,怎么快速处理?问项目,问的不深,大概一些设计的数据类型、业务线、业务逻辑怎么处理的、怎么处理的脏数据、模型怎么设计的?平时用的比较多的引擎有哪些?原创 2022-11-22 06:00:00 · 695 阅读 · 0 评论 -
秋招面经第二弹:百度一面-大数据开发工程师
这个面试官一看就是大佬级别的,上来压迫感很强,问的很细,就差问我代码怎么写的了,差不多项目问了有40min,一直在探讨项目实施中的细节,还有一些数据规模,业务过程,面向的用户等等,总之是康师傅都没他细。我说我的时间可能不多了,但是面试官好像对我比较感兴趣,说前面聊的都可以,现在就是要考察一下你的代码能力,再聊会。其实两个星期后百度hr打电话给我问了我的秋招情况,我说还没有签其他的,他说面了一轮下来,其没有更合适的了,面试官觉得我还行,想再约下一轮的面,我心里直接问候一万遍,然后果断拒绝。原创 2022-11-21 06:00:00 · 897 阅读 · 1 评论 -
秋招面经第一弹:百度一面-大数据开发工程师
此sql是灰常变态了,实现一个漏斗分析,开始还平平无奇,用sql实现了之后,面试官开始了升级,让写scala实现,我说写的可能不是很完整,可以把大概思路写出来,面试官说可以,我写了大概之后,面试官再次升级,写udf可以实现吗?说实话这个操作给我问蒙了,没见过上来就介绍他们的工作内容的,后面想想应该是我在介绍中说了自己不能接受的一些工作内容,面试官介绍了一下自己的。问了这次面试结果什么时候出来,面试官说给你约个下午的二面,但是好像他们的面试系统出了问题,他们约的容易重复,就让hr约了一个二面事件。原创 2022-11-20 22:35:38 · 1105 阅读 · 0 评论 -
Hadoop HDFS 的shell命令
下面介绍几个常用的命令-help如果对于某个命令不熟悉,想要知道具体的用法,可以使用 --help命令查看比如:查看ls的命令使用说明二、上传文件-moveFromLocal:从本地剪切粘贴到 HDFS-copyFromLocal:从本地文件系统中拷贝文件到 HDFS 路径去-put:等同于 copyFromLocal,生产环境更习惯用 put-appendToFile:追加一个文件到已经存在的文件末尾三、下载文件-copyToLocal:从 HDFS 拷贝到本地-get:等同于原创 2022-07-10 07:00:00 · 601 阅读 · 0 评论 -
sql中常用的正则匹配
字符中能匹配到就返回1,不能匹配到就返回02.符号’^’代表开头,需要开头是某个字符3.符号’$’代表结尾,需要结尾是某个字符4.符号’.’代表任意一个字符,可以匹配上任何一个字符5.符号’+’前面的字符至少出现1次6.符号’*’前面的数字至少出现0次7.符号’?’前面的数字最多出现1次8.符号’()’代表一个整体,全体匹配9.符号’[]’匹配符号内的任何一个字符即可注意:如果想要匹配字符’[’ 或者’]‘,需要把’[‘放在’]‘前,匹配’]'也是同理符号[]中可以使用’原创 2022-07-09 12:17:47 · 10419 阅读 · 2 评论 -
HIVE内置函数strToMap --源码解析
所在的类:org.apache.hadoop.hive.ql.udf.generic.GenericUDFStringToMapHIVE实现的内置函数功能是可以传入三个参数:举例:输出:那么HIVE是如何实现的?二、evaluate方法该方法涉及到的两个知识点可以看到是一个接口中声明了这个方法,那么一定有实现的地方传入一个object,返回一个object,可以看作是一个object的转换器可以看到,传入一个切割字符,传入一个limit参数,这个是限制切割的数组长度,比如是2,那么切割出来的原创 2022-07-06 22:45:30 · 705 阅读 · 0 评论 -
JSON转MAP前后数据校验 -- 自定义UDF
检查参数:initialize方法二、evaluate方法处理逻辑:evaluate方法三、测试打包上传集群,创建测试函数测试1:测试2:原创 2022-07-05 07:00:00 · 285 阅读 · 0 评论 -
HIVE如何校验map类型数据 -- 比较json和map的转换前后数据一致性
HIVE如何校验map数据对于json转map之后,通过转换前的json和转换后的map做checksum是不可行的,因为两者结果差别还是挺大的结果:二、思路那么对于json转map后的checksum应该怎么做?或者如何确定转换的结果没有错?采用的方法是通过get_json_object和element_at方法来确定转换前后结果是否又误。将转换后所有的map结果的key提取出来然后和转换前后的json和map进行关联提取每个key数据关联求解实现方法2上面上个方法虽然可以得解,但是有一些很原创 2022-07-05 07:30:00 · 847 阅读 · 0 评论 -
HIVE内置函数hash() -- 源码解析
首先HIVE提供的hash()内置函数的源码是怎么要求的?hash内置函数在类中表明:在初始化参数的时候,并没有做任何的校验,直接返回了一个Int类型,所以在编译阶段是可以随意通过的,无论传入什么参数可以看到在处理阶段是可以传入多个参数的,也就是说hash()这个函数可以传入多个参数,其实最主要的处理方法是调用了ObjectInspectorUtils.getBucketHashCode(fieldValues, argumentOIs);getBucketHashCode方法点进去看一下这个方法是原创 2022-07-04 23:21:20 · 2144 阅读 · 0 评论 -
HIVE内置函数map_keys -- 源码解析
一、initialize方法在上面的源码之后,需要知道返回的列表是怎么执行的,点进去ObjectInspectorFactory类看getStandardListObjectInspector方法其中cachedStandardListObjectInspector的声明如下二、evaluate方法getDisplayString方法getStandardDisplayString的方法:调用了重载方法,一点点的把数组内的数据append到字符中...原创 2022-07-04 23:15:33 · 702 阅读 · 0 评论 -
HIVE 中的数据类型检查器 -- ObjectInspector 源码详解
HIVE中的数据类型分为了几种:PRIMITIVE, LIST, MAP, STRUCT, UNION;看源码可以看到。一、PRIMITIVE PrimitiveObjectInspector PrimitiveCategory:二、LIST主要有几种方面理解:主要的实现和常用到的实现接口和类如下: StandardListObjectInspector其中接口ListObjectInspector中的getList方法也可以返回一个List类型StandardListObject原创 2022-07-01 07:00:00 · 1183 阅读 · 0 评论 -
sql解决连续登录问题变形-节假日过滤
连续登录天数之前讲解过有两种解法,可以解决连续登录问题,那么在实际生产中也是经常使用到,但是对于一些此类问题的变形,是否能够轻松解决?最近接到一个需求,也不算是需求,是一个小的功能实现。之前一直再做事件告警的需求,需要对告警事件进行反馈,判断是否是当日反馈。最开始实现时候想法很简单,只考虑到了双休日,就设定如果是双休日的告警事件,在周一时候反馈就认为是当日反馈,当时是这么实现的:如果是周六,反馈日期增加2,如果是周日,反馈日期增加1但是在实际使用中,发现了存在节假日的卡点,尤其是上半年的节假日比较多,原创 2022-06-30 07:00:00 · 660 阅读 · 0 评论 -
HIVE中替换UDF神器-- TRANSFORM()函数
TRANSFORM()以HIVE官网中的一个例子为例讲解一下TRANSFORM函数的使用比如需要对一个时间戳转换为是周几,就是输入一个时间戳,返回这个时间戳是周几。TRANSFORM语法:简而言之,就是从一个表中读取字段,用python脚本处理,然后输出新的字段。那么python脚本怎么使用呢?python中通过sys.stdin来获取输入的字段,然后通过循环处理每一行数据即可处理起来很简单,借助python得天独厚的优点,可以很方便的处理复杂逻辑根据HIVE官方提供的案例,看一下传入字段,调用原创 2022-06-29 22:38:56 · 988 阅读 · 0 评论 -
ROW_NUMBER()、RANK()、DENSE_RANK区别
ROW_NUMBER()、RANK()、DENSE_RANK区别ROW_NUMBER():排序,不会有重复的排序数值。对于相等的两个数字,排序序号不一致DENSE_RANK():排序,可有重复值。对于相等的两个数字,排序序号一致RANK():排序,可有重复值。对于相等的两个数字,排序序号一致,但是总数会减少如果窗口中over()无排序字段,那么结果如何?数值排序序号111121如果窗口中over()无排序字段,使用的是row_number()排序,结果如何原创 2022-06-29 22:26:48 · 6327 阅读 · 0 评论 -
HIVE SQL编写MR流程,以及JOIN、GROUP BY、DISTINCT的底层执行原理
HIVE SQL编写MR流程,以及JOIN、GROUP BY、DISTINCT的底层执行原理内容目录HIVE SQL编写MR流程,以及JOIN、GROUP BY、DISTINCT的底层执行原理一、编译MR流程二、HIVE SQL 转为 MR 具体原理1. JOIN2. GROUP BY3. DISTINCT一、编译MR流程HIVE SQL编译成MR任务是在COMPILER阶段完成的。大致可以分为6个步骤:词法、语法解析:Antlr 定义 SQL 的语法规则,完成 SQL 词法,语法解析,将 SQL原创 2022-05-30 07:00:00 · 1776 阅读 · 0 评论 -
HIVE SQL 底层执行逻辑
HIVE SQL 底层执行逻辑内容目录HIVE SQL 底层执行逻辑一、HIVE五大组件二、执行过程hive可以通过访问HDFS等,通过MR引擎(或者更换的Spark、Tez等)执行查询逻辑,一个hive sql会被解译为若干个mr流程,那么是怎么执行的?一、HIVE五大组件在hive中,有很重要的五个组件UI用户界面,也就是hive提供给用户的可视化工具DRIVER驱动程序,十分关键的一部分COMPLIER编译器。负责将HIVE SQL翻译成可执行的执行计划MET原创 2022-05-29 20:00:32 · 1074 阅读 · 0 评论 -
数仓重要名词:指标-派生指标的种类(事务性指标、存量型指标、复合型指标)
派生指标的种类派生指标可以分为3类:**事务性指标、存量型指标、复合型指标。**按照其特性不同,有些必须新建原子指标,有些可以在其他类型原子指标的基础上增加修饰词形成派生指标。一、事务性指标是指对业务活动进行衡量的指标。例如新发商品数、重发商品数、新增注册会员数、订单支付金额,这类指标需要维护原子指标及修饰词,在此基础上常见派生指标。二、存量型指标是指对实体对象(如商品、会员)某些状态的统计。例如商品总数、注册会员数。这类指标需要维护原子指标及修饰词,在此基础上创建派生指标,对应事件周期一般为原创 2022-05-16 07:00:00 · 3230 阅读 · 0 评论 -
数仓的一些重要知识,数据域、业务过程、度量、指标、维度、命名规则
内容目录数仓的一些重要知识,数据域、业务过程、度量、指标、维度、命名规则一、规范定义二、指标体系基本原则命名规则数仓的一些重要知识,数据域、业务过程、度量、指标、维度、命名规则一、规范定义规范定义指以维度建模作为里理论基础,构建总线矩阵,划分和定义数据域、业务过程、维度、度量、原子指标、修饰类型、修饰词、时间周期、派生指标专有名词:数据域:指面向业务,讲业务过程或者维度进行抽象的集合。其中,业务过程可以概括位一个个不可拆分的行为事件,在业务过程之下,可以定义指标,维度是指度量的环境,如买家下原创 2022-05-15 11:04:34 · 4086 阅读 · 0 评论 -
SQL高频面试题:求最大连续登录天数,间隔n天内都可以算做连续登录
SQL高频面试题:求最大连续登录天数,间隔n天内都可以算做连续登录连续问题的解决思路,通过等差数列,在之前讲解过SQL解决标准连续问题(等差方法),如果题目改变,变成了如果是间隔两天,都算是连续登录,问题怎么解决?id dt1 2022-05-011 2022-05-021 2022-05-041 2022-05-07比如有上述数据,得到id=1的连续登录天数为4天,2022-05-01到2022-05-04怎么解决?除了等差方法求解,求得两次等差的方法,还可以按照这种原创 2022-05-10 07:00:00 · 2125 阅读 · 0 评论 -
Hive自定义UDF,继承GenericUDF类,如何处理传入的参数类型是否合理
Hive自定义UDF,继承GenericUDF类内容目录Hive自定义UDF,继承GenericUDF类一、自定义UDF的步骤:二、实现UDF三、总代码四、测试四、总结实现两个int类型计算,返回百分比itp(1,2) – > return 50%一、自定义UDF的步骤:自定义类继承GenericUDFpublic class IntToPrecent extends GenericUDF{}实现三个方法:initialize() evaluate() getDisp原创 2022-05-09 07:00:00 · 3071 阅读 · 0 评论 -
生产环境下源数据字段粒度变更,下游怎么处理
真实生产坏境下,源数据字段变更,下游应该怎么做今天源数据字段有个变更上线,变更的内容是将数据质量的监控告警从规则检测粒度变成了一个job粒度有关DQC,数据质量控制。owner可以在一张表上创建一个dqc job,对应一个dqc_id,一个dqc_id下可以有多个监控项,就比如一张表上可以配置多个监控项一个意思,之前的检测告警规则是:一次检测动作发生告警,就会通知owner一次,有时候一张表可能多个监控项都会告警,比如假期双休等,表的数据流增加是正常的行为,那么这样一个规则触碰一次告警发送肯定会造成一原创 2022-05-08 07:00:00 · 507 阅读 · 0 评论 -
SQL解决去重问题(在线超10min中的人数等)
SQL解决去重问题(在线超10min中的人数等)内容目录SQL解决去重问题(在线超10min中的人数等)一、描述二、求解1、思路12、思路2三、牛客的SQL33:直播各科出勤率一、描述问题描述比如有一些数据如下,记录了每个同学一天内的球类运动情况tom 篮球 14mintom 足球 25mintom 篮球 20mintom 足球 31minjery 足球 25minlilly 篮球 21min问题:每项运动中坚持超过20min的学生数二、求解1、思路1原创 2022-05-07 08:48:17 · 421 阅读 · 0 评论 -
牛客SQL34: 牛客直播各科目同时在线人数(最大值问题)
牛客SQL34: 牛客直播各科目同时在线人数(最大值问题)内容目录牛客SQL34: 牛客直播各科目同时在线人数(最大值问题)一、描述二、思路解析三、代码四、问题思考一、描述牛客某页面推出了数据分析系列直播课程介绍。用户可以选择报名任意一场或多场直播课。已知课程表course_tb如下(其中course_id代表课程编号,course_name表示课程名称,course_datetime代表上课时间):course_idcourse_namecourse_datetime1P原创 2022-05-06 08:24:26 · 1932 阅读 · 1 评论 -
牛客SQL29:某宝店铺连续2天及以上购物的用户及其对应的天数(连续问题)
牛客SQL29 :某宝店铺连续2天及以上购物的用户及其对应的天数内容目录牛客**SQL29** :某宝店铺连续2天及以上购物的用户及其对应的天数一、描述二、解题思路三、代码一、描述11月结束后,小牛同学需要对其在某宝的网店就11月份用户交易情况和产品情况进行分析以更好的经营小店。11月份销售数据表sales_tb如下(其中,sales_date表示销售日期,user_id指用户编号,item_id指货号,sales_num表示销售数量,sales_price表示结算金额):sales_da原创 2022-05-06 07:34:25 · 1670 阅读 · 0 评论 -
SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数)
SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数)今天拿到一个需求,要统计不同时间段的视频同时观看人数,举个例子,比如某个视频,video_id为9432870,统计出这个视频在10:00 - 12:00 同时观看人数最多为201人,12:00 - 14:00 同时观看人数最多为100人。这个需求我刚接到的时候是很蒙圈的,不知道该怎么下手,我脑子第一反应就是,取并集?但是也不知道怎么取啊。问了公司的大佬,他告诉我让我想象成一个瞬时问题,就是求得某个时间点的同时在线人数,我恍然原创 2022-05-05 09:12:29 · 4361 阅读 · 2 评论 -
数据仓库、商业智能及维度建模初步
数据仓库、商业智能及维度建模初步数据仓库和商业智能系统(Data Warehousing and Business Itelligence,DW/BI)1.数据获取和数据分析的区别操作型记录的保存,分析型决策的制定。-----》操作型系统保存数据,DW/BI系统使用数据操作型系统一般一次处理一个事务记录。DW/BI系统的用户研究分析企业的运转-----》数据源传入的都是操作数据,每日全量或者增量同步进数仓,经过逐层处理应用在ads层,如一些事件运营周报、boss看板,都是DW/BI分析2.数仓与商原创 2022-04-01 18:38:56 · 1340 阅读 · 0 评论 -
数据库检测数据一致性时的哈希值不一致的原因
检测数据一致性时的哈希值不一致的原因内容目录检测数据一致性时的哈希值不一致的原因一、问题介绍二、哈希值不同的原因有什么三、问题排查四、日常小技巧今天在做一个数据需求的时候,大概要把几张有字段重复的数据表,并且是同一粒度的,合并到一张表里逻辑处理结束之后,在做数据一致性检验的时候,checksum的结果有些出入一、问题介绍总共有28个字段,checksum的哈希结果26个都是一样的,但是却有两个不一样,这个结果就很奇怪,如果说有一些重复数据造成了数据增长,那么行数是怎么一样的呢?如果逻辑有问题,那么原创 2022-03-31 08:00:00 · 3370 阅读 · 0 评论 -
记录一次Spark SQL的map类型报错
记录一次Spark SQL的map类型报错今天在做一个需求的时候,提交代码测试运行总是在一个任务节点挂掉,报错信息如下:SparkSQLCLIDriver: Error in query: Cannot have map type columns in DataFrame which calls set operations(intersect, except, etc.), but the type of column label is map<string,string>;revie原创 2022-03-26 08:00:00 · 1163 阅读 · 0 评论