自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Hive合并小文件

- 一个节点上split的至少的大小 ,决定了多个data node上的文件是否需要合并。-- 一个交换机下split的至少的大小,决定了多个交换机上的文件是否需要合并。-- 平均文件大小,是决定是否执行合并操作的阈值,默认16000000。-- 在map-reduce job后合并文件,默认false。-- 在map-only job后合并文件,默认true。-- 合并后每个文件的大小,默认256000000。-- 每个Map最大输入大小,决定合并后的文件数。-- 执行Map前进行小文件合并。

2025-01-17 10:18:41 759

原创 Flink 常见面试题

根据自定义的条件将部分数据发送到一个或多个额外的输出流中,这些额外的输出流就是侧道输出流。用途:数据分类处理异常数据处理多模式数据处理按照指定的数据条数生成一个Window,与时间无关。滚动计数窗口,每隔N条数据,统计前N条数据滑动计数窗口,每隔N条数据,统计前M条数据按照时间生成Window。(重点)滚动时间窗口,每隔N时间,统计前N时间范围内的数据,窗口长度N,滑动距离N滑动时间窗口,每隔N时间,统计前M时间范围内的数据,窗口长度M,滑动距离N会话窗口,按照会话划定的窗口。

2024-12-01 22:51:09 1124

原创 一文帮你搞懂flink中窗口函数的分类(二)

该接口还具有创建初始累加器(createAccumulator方法)、将两个累加器合并到一个累加器(merge方法)以及从累加器中提取输出(类型为OUT)的方法。指在窗口触发的时候才会对窗口内的所有数据进行一次计算(等窗口的数据到齐,才开始进行聚合计算,可实现对窗口内的数据进行排序等需求)l 增量函数:窗口保存一份中间数据,每流入一个新元素,新元素与中间数据两两合一,生成新的中间数据。l 全量函数:窗口先缓存所有元素,等到触发条件后对窗口内的全量元素执行计算。窗口函数,即数据划分窗口后可以调用的处理函数。

2024-11-25 20:19:17 244

原创 一文帮你搞懂flink中窗口的分类(一)

滑动距离> 窗口长度,会漏掉数据,比如:每隔5分钟,统计前面1分钟的数据(滑动距离5分钟,窗口长度1分钟,漏掉4分钟的数据)这样的东西,没人用。滑动距离< 窗口长度,会重复处理数据,比如:每隔1分钟,统计前面5分钟的数据(滑动距离1分钟,窗口长度5分钟,重复处理4分钟的数据)那么,对于这个问题,我们就可以解答了。对于这个需求我们可以看出,窗口长度是2分钟,每隔1分钟统计一次,窗口长度和时间间隔不相等,并且是大于关系,就是滑动窗口。滚动时间窗口,每隔N时间,统计前N时间范围内的数据,窗口长度N,滑动距离N。

2024-11-25 20:04:10 996

原创 面试小结(一)

在JVM内部,boolean类型通常使用int类型来实现,因此占用4个字节,但boolean数组在内存中是以位的形式存储的,每个boolean值占用1位。范围是 '\u0000' 到 '\uffff',默认值为 '\u0000',占用2个字节。范围是 -2^15 到 2^15-1,默认值为 0,占用2个字节。范围是 -2^63 到 2^63 ,默认值为 0L,占用8个字节。范围是-2^31到 2^31-1,默认值为 0,占用4个字节。范围是 -128 到 127,默认值为 0,占用1个字节。

2024-11-21 20:28:28 498

原创 Path does not exist: file:/D:/pythonProject/spark/main/datas/input/u.data

从图中可以看出,数据源文件是存在的,但是读取不到文件,说明代码中的·文件路径写错了,从报错的结果可以看出,python在D:/pythonProject/spark/main文件夹下找文件,但是我放的文件路径在D:/pythonProject/spark,因此,填写的文件路径要向上跳一级,可将代码中的文件路径:../datas/input/u.data改成: ../../datas/input/u.data即可解决问题。1.文件路径书写错误;2.文件本身不存在。

2024-11-18 20:46:44 519

原创 kafka消费者的消费分区策略有哪些,默认是哪个?

这意味着,当消费者组中的消费者加入时,Kafka 会采用“范围分配”方式将分区分配给消费者,尽量确保每个消费者分配到一段连续的分区。如果有消费者退出或加入,粘性分配策略会尽量让已经分配的消费者保持其原有分配,尽量减少重新分配的次数。在 Kafka 2.x 及之后版本中,默认的消费者分区分配策略是 Range。

2024-11-11 20:26:40 793

原创 kafka如何知道哪个消费者消费哪个分区?

Kafka 通过消费者组和分区之间的映射来管理哪个消费者消费哪个分区。这个过程的关键是消费者组协调和分区分配机制。

2024-11-11 20:18:47 677

原创 消费者组和分区数之间的关系是怎样的?

首先groupId对50取模,看最后的结果是哪个分区节点,假如是1分区,那么1分区的协调器就是本次消费者组的老大,消费者纷纷向该协调器进行注册,协调器从中随机选择一个消费者作为本次消费的Leader,然后把本次消费的具体情况发送给Leader,让其制定一个消费计划(就是哪个消费者消费哪个分区),然后Leader发送给协调器,协调器再进行群发,将计划公布,各个消费者按照这个计划进行消费。消费者组,由多个consumer组成。• 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费。

2024-11-11 20:10:00 336

原创 kafka中的数据清理策略

压缩后的offset可能是不连续的,比如上图中没有6,当从这些offset消费消息时,将会拿到比这个offset大的offset对应的消息,实际上会拿到offset为7的消息,并从这个位置开始消费。这种策略只适合特殊场景,比如消息的key是用户ID,value是用户的资料,通过这种压缩策略,整个消息集里就保存了所有用户最新的资料。log.retention.check.interval.ms,负责设置检查周期,默认 5 分钟。log.retention.bytes,默认等于-1,表示无穷大。

2024-11-11 20:04:13 596

原创 kafka中是如何快速定位到一个offset的

这种设计使得 Kafka 能够在大规模数据存储下,依然保持高效的消息查询能力,特别适合大吞吐量的场景。Kafka 通过以下方法实现了快速定位。

2024-11-11 20:01:55 685

原创 Kafka集群中数据的存储是按照什么方式存储的?

机制,将每个partition分为多个segment。每个segment包括:“.index”文件、“.log”文件和.timeindex等文件。这些文件位于一个文件夹下,该文件夹的命名规则为:topic名称+分区序号,例如:first-0。Topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据。到该log文件末端,为防止log文件过大导致数据定位效率低下,Kafka采取了。

2024-11-11 19:57:09 203

原创 kafka是如何做到高效读写

生产者将数据发送给kafka,kafka将数据交给Linux内核,Linux内核将数据放入自身操作系统的页缓存中,然后到一定值写入磁盘,假如消费者过来消费,直接从页缓存中,通过网卡发送给消费者,根本就没有去kafka的业务系统中获取数据,所以速度比较快。Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端, 为顺序写。Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端, 为顺序写。4)页缓存 + 零拷贝技术。

2024-11-11 19:53:13 542

原创 Kafka 快速入门(二)

如果研发人员可以根据企业需求,自己重新实现分区器。1)需求例如我们实现一个分区器实现,发送过来的数据中如果包含 bigdata,就发往 0 号分区, 不包含bigdata,就发往 1 号分区。2)实现步骤(1)定义类实现 Partitioner 接口。(2)重写 partition()方法/*** 自定义分区器:需求:* 假如消息中含有bigdata 进入0号分区,假如不含有,进入 1号分区*//*** 返回信息对应的分区* @param topic 主题。

2024-11-09 17:28:22 761

原创 Kafka面试夺命连环30问(一)

14、Kafka中Leader挂了,Follower挂了,然后再启动,数据如何同步?15、kafka中初始化的时候Leader选举有一定的规律,如何打破这个规律呢?4、你知道 Kafka 是如何做到消息的有序性?11、简述kafka集群中的Leader选举机制。8、Kafka中如何做到数据唯一,即数据去重?12、kafka是如何处理数据乱序问题的。2、Kafka 的设计架构你知道吗?5、ISR、OSR、AR 是什么?1、kafka消息发送的流程?3、Kafka 分区的目的?9、生产者如何提高吞吐量?

2024-11-09 09:30:41 1211

原创 hive实例练习

问题: 现有用户登录记录表,请查询出用户连续三天登录的所有数据记录。

2024-11-07 20:30:00 227

原创 Kafka 快速入门(一)

kafka详细的安装、集群部署及关于生产者和消费者的命令

2024-11-07 18:35:50 906

原创 在 hiveSQL 中判断一个字段是否包含某个值

其中,subject是要判断的字符串,'ABCD;‘是要匹配的字串,0表示从整个匹配结果中获取整个字串。如果返回的字串不为空,则说明匹配到了,即包含字串'ABCD’,否则不包含。你需要将your_table替换为你实际使用的表名或子查询。可以使用regexp_extract(subject, pattern, index)函数来提取字符串中匹配指定。

2024-11-06 20:26:52 320

原创 利用pyspark对数据进行处理的案例

pyspark实际案例应用

2024-11-06 19:44:20 390

原创 面试题:groupByKey+map和reduceByKey都能实现分布式分组聚合,有什么区别?

executor --> spark的app应用在运行时,会产生两个进程,一个Driver,一类executor(执行spark中的job任务的)- groupByKey没有Map端聚合的操作,只做分组,必须等分区结束才能实现,最终map需要做整体聚合。- reduceByKey直接分组聚合的性能要高于先做groupByKey再做聚合的方式。- reduceByKey是有Map端聚合操作,先分区内部聚合,再做分区间的聚合。Combiner --> 运行在map端的Reduce。

2024-10-31 20:16:57 250

原创 Spark中算子的总结

mapValues: 将所有的value拿到之后进行map转换,转换后还是元组,只是元组中的value,进行了变化。功能:对KV类型的RDD按照Key进行分组,相同K的Value放入一 个集合列表中,返回一个新的RDD。场景:需要对数据进行分组的场景,或者说分组以后的聚合逻辑 比较复杂,不适合用reduce。特点:必须经过Shuffle,可以指定新的RDD分区个数,可以指定分区规则。的RDD之间按照K实现关联,将两个RDD的关联结果放入一个新的RDD中。功能:调整RDD的分区个数 分类:转换算子。

2024-10-31 20:13:14 953

原创 20个finebi的面试题

15.有时我们希望将模板发送给别人修改,导出模板时需要附带导出内置数据,导出时其实是作为两个文件存在的 判断题 5.0分。17.finebi可以将finereport制作的报表挂出,并且可以集成到finebi制作的仪表板中 判断题 5.0分。14.以下哪个不属于模板单元格的扩展方向 单选题 5.0分。

2024-10-13 22:37:05 508

原创 禅道的下载与安装

什么是禅道:项目经理管理牛马们的工具。

2024-09-24 23:15:44 631

原创 利用sqoop将某一数据库从MySQL导入hive

数据库导入导出第一步:在hive中创建数据库在hive中创建一个数据库:第二步:复制MySQL中表的名字在mysql数据库,查询目标数据库下的所有表名,复制到你指定的文件中(如:/root/tables.txt)第三步:编辑运行脚本在home目录下,创建目录mkdir scriptscd scripts编

2024-09-19 20:07:48 785

原创 利用kettle抽取表某一时间的数据遇到的问题

kellte数据抽取

2024-09-12 20:06:29 224

原创 利用kettle实现数据从mysql到hive的转移

利用kettle实现数据转移

2024-09-12 19:50:06 319

原创 字符串转特定格式时间的方法

作用是返回一个确切的时间点的UNIX时间戳,这个Unix时间戳是一个无符号整数。unix_timestamp()函数有两种转换方式,有参和无参。运行结果:上述代码中dt是参数,'yyyyMMdd'是参数的时间类型,原本是字符串,通过'yyyyMMdd'指定字符串为yyyyMMdd时间类型将时间戳转为指定日期格式。

2024-09-10 20:05:55 468

原创 视频号数据分析组外包招聘笔试题

活跃用户的 7 日留存率,输出字 段日 期,用户 id,7 日留存率具体表结构如下表 1 用户行为表:t_user_video_action_d。比如:7月1日新增用户100,这100人中在7月2日启动过应用的有30人,7月3日启动过应用的有25人,7月4日启动过应用的有32人。假如2023-12-05日数据出来后,可以计算12-04的1日留存,12-03的2日留存,12-02的3日留存。可以这样说7月 1的 1日留存用户 有30人,2日留存用户有25人,3日留存用户有32人。留存用户:某段时间内的。

2024-09-10 11:33:44 431

原创 使用新版海豚调度器(DolphinScheduler)单机模式遇到的一些问题

CentOS要求:需要版本达到7.0及以上。为什么要用单机模式:启动单机模式的DS非常节约内存,适合个人开发练习。注意:单机启动,不需要zk,它内置了zk,把我们自己的zk服务停掉。

2024-09-09 20:51:56 576

原创 Flume简单学习

Apache Flume 是一个分布式、高可靠、高可用的用来收集、聚合、不同来源的到中央数据仓库的工具。数据大概分为三类:1、日志数据--文本文档2、业务数据--各种数据库3、第三方数据--买的,别人给的、爬取的对flume的理解:flume 其实就是水管 数据起始就是水,将水引入到不同的容器中Sqoop -- 一般用于采集数据库中的数据Flume -- 一般采集我们的日志数据 user.logFlume 其实可以看做一个水管。一头接着水源,一头接着桶,从水源地抽取数据到桶里去。

2024-09-07 16:37:53 1157

原创 idea常用小插件

一、第一个插件--提示括号的二、Translation-翻译三、ERNIT Bot AI 工具四、ptg --自动生成 javaBean五、通义灵码

2024-09-07 15:52:53 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除