自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据面试离线数仓之行转列,列转行的思路是什么

c. 对每个分组应用适当的聚合函数(如 COUNT、SUM、AVG 等),将多个列的数据合并为一个或多个列。b. 使用聚合函数(如 GROUP BY、聚合查询等)将数据按照某个字段(如时间、地区等)进行分组。b. 使用聚合函数(如 GROUP BY、聚合查询等)将数据按照某个字段(如时间、地区等)进行分组。d. 使用 PIVOT 语句(或类似的函数,如 CASE、IF 等)将分组后的数据进行行转列操作。d. 使用 PIVOT 语句(或类似的函数,如 CASE、IF 等)将分组后的数据进行列转行操作。

2023-08-26 09:20:19 257

原创 大数据面试离线数仓之--什么是漏斗分析模型,有什么作用,计算思路是什么

它通过追踪和分析用户在一个特定的网站、应用或电商平台上的行为路径,来确定用户在每个阶段的流失率,从而帮助企业识别用户流失原因和优化用户体验。漏斗分析模型的计算思路是从整体到局部,通过多个阶段的数据分析,逐步缩小分析范围,确定每个阶段的流失率。4. 通过对比每个阶段的转化率,确定漏斗中每个阶段的流失率,即用户在某个阶段中放弃继续操作的比例。3. 根据用户行为路径数据,计算每个阶段的转化率,即用户从一个阶段流转到下一个阶段的比例。1. 确定用户每个阶段的到达和流失率,定位用户流失原因。

2023-08-26 09:07:55 214

原创 大数据面试之离线数仓--Json数据入仓方案有哪些,怎么进行选择

选择 ETL 工具时,需要考虑工具的性能、功能和成本等因素。有许多在线和离线的 JSON 生成工具,如 json-generator、json-schema-generator 等。选择合适的 JSON 生成工具可以提高数据入仓的效率,但需要根据具体需求和场景进行选择。数据迁移工具,如 AWS Glue、Apache NiFi 等,可以实现数据的导入、转换和存储。选择数据迁移工具时,需要考虑迁移工具的性能、功能和成本等因素。许多应用程序和系统都提供了 API 接口,可以获取 JSON 格式的数据。

2023-08-25 16:59:21 319

原创 大数据面试之离线数仓--DataX可以做并发数据同步吗,怎么做

设置数据过滤和脱敏:在 DataX 的配置文件中,可以设置数据过滤规则和脱敏规则。通过设置过滤规则,可以只同步需要的数据,减少不必要的数据同步。每个节点可以负责处理一部分数据同步任务,通过负载均衡实现并发数据同步。综上所述,通过多线程或多进程、任务优先级、分布式架构、数据过滤和脱敏以及增量同步等方法,DataX 可以实现并发数据同步。使用增量同步:DataX 支持增量同步,只同步源数据和目标数据之间的差异部分,减少数据同步的时间和资源消耗。DataX 是一款高效的数据同步工具,可以实现并发数据同步。

2023-08-25 16:31:04 718

原创 大数据面试之离线数仓--数据零点漂移问题

数据零点漂移问题是指数据在时间上出现了偏差,导致数据的准确性受到影响。在离线数仓中,数据的零点通常是指ETL(抽取、转换、加载)过程中的时间点,即数据被抽取到数仓的时间点。1. ETL过程中的延迟。如果ETL过程花费的时间超过了预期,那么数据的零点就会向后移动,从而导致数据零点漂移问题。如果数据源本身存在延迟,那么数据会比数仓中的零点时间晚到达,从而导致数据零点漂移问题。如果数据源和数仓所处的时区不同,那么就可能导致数据零点漂移问题。规范数据源和数仓所处的时区,避免时区差异导致的数据零点漂移问题。

2023-08-25 15:51:10 889

原创 大数据面试之离线数仓--拦截器的编写思路

编写拦截器代码:根据所选的数据处理技术和规则,编写拦截器代码。离线数仓是一种数据仓库架构,主要用于存储和管理大规模的离线数据,以支持企业的数据分析和决策需求。拦截器(或称为过滤器)是离线数仓中的一个重要组件,用于对数据进行清洗和处理,确保数据质量和准确性。总之,编写离线数仓拦截器的思路是从数据源和目标表出发,根据业务需求和数据质量要求制定数据处理规则,选择合适的数据处理技术,并编写、调试和优化拦截器代码。调试和优化:编写完成后,需要对拦截器进行调试和优化,确保其能够正确地执行数据处理规则,并满足性能需求。

2023-08-25 15:48:19 68

原创 大数据面试之离线数仓--用户连续活跃区间表的实现思路

需要注意的是,为了提高查询效率,可以在用户连续活跃区间表中添加一些冗余字段,例如上一个连续活跃区间的结束时间,以便在查询时进行优化。同时,也需要定期更新该表,以反映最新的用户活跃情况。用户连续活跃区间表是离线数仓中的一种重要的分析表,它能够记录每个用户的连续活跃时间段,为业务分析提供有力的支持。3. 针对每个用户,遍历其所有的登录记录,根据一定的规则(例如,两次登录时间之差小于某个阈值)将其划分为不同的连续活跃段。5. 最后,将所有用户的连续活跃段汇总成一张表,并按照用户ID和活跃段起始时间进行排序存储。

2023-08-25 15:46:08 158

原创 经典Kafka面试题

这样做的原因是还没有被足够多副本复制的消息被认为是“不安全”的,如果 Leader 发生崩溃,另一个副本成为新 Leader,那么这些消息很可能丢失了。1、 这其实是分布式场景下的通用问题,因为我们知道CAP理论下,我们只能保证C(一致性)和A(可用性)取其一,如果支持读写分离,那其实对于一致性的要求可能就会有一定折扣,因为通常的场景下,副本之间都是通过同步来实现副本数据一致的,那同步过程中肯定会有时间的消耗,如果支持了读写分离,就意味着可能的数据不一致,或数据滞后。这是最常见的分区Leader选举场景。

2023-08-21 08:57:11 19

原创 Hive的优化方法

第一个 MR Job 中,Map 的输出结果会随机分布到 Reduce 中,每个 Reduce 做部分聚合操作,并输出结果,这样处理的结果是相同的 Group By Key 有可能被分发到不同的 Reduce 中,从而达到负载均衡的目的;不过,有时 Hive 的输入数据量是非常小的。有时虽然某个 key 为空对应的数据很多,但是相应的数据不是异常数据,必须要包含在join 的结果,此时我们可以表 a 中 key 为空的字段赋一个随机的值,使得数据随机均匀地分部到不同的reducer上。

2023-06-07 15:31:06 67

原创 HBase你需要知道的重点

在HBase中,每个表都有一个或多个Region,HMaster会将Region分配给不同的RegionServer,同时还会监控RegionServer的状态和负载情况,并安排RegionServer之间的数据迁移。1. 刷写数据(Flush):HBase中的数据都是写入到内存中,当内存写满或者达到一定的条件时,就需要将内存中的数据刷写到磁盘上,以避免数据的丢失。HBase会启动一个后台线程,定期地将内存中的数据刷写到磁盘上,同时,可以通过手动触发flush操作来立即将内存中的数据刷写到磁盘上。

2023-06-07 15:27:48 184

原创 YARN 集群的工作流程

ApplicationMaster负责协调应用程序运行所需的所有资源。3. 分配资源:ResourceManager根据应用程序的资源需求,从集群资源池中分配适当的资源,向ApplicationMaster分配它所需要的Container。7. Container释放:任务执行完毕后,Container将被释放,资源被返回到ResourceManager的资源池中,可以被其他应用程序使用。以上是YARN集群的工作流程,YARN的主要功能是为Hadoop集群中的各个应用程序提供统一的资源管理和调度机制。

2023-05-31 10:40:43 951 1

原创 MapReduce 的计算流程的理解

4. Sort and Shuffle:Reduce 任务从 Map 任务输出的中间结果中获取数据,并按照键的顺序排序,以便合并相同键的值。6. Output:各个 Reduce 任务的输出结果被合并为一个文件,作为 MapReduce 任务的最终输出结果。5. Reduce:每个 Reduce 任务接收分配给它的中间结果列表,并按照键执行指定的操作,生成最终输出结果。3. Partition:根据键的哈希值,将 Map 任务输出的中间结果分发到不同的 Reduce 任务。

2023-05-31 09:20:38 441 1

原创 浅谈Paxos算法的最终模型

3. 决策阶段(Accept Phase):如果一个节点收到了大多数的回复承诺,则它可以发起一个决策请求(Accept request),包含一个提议值和编号 n。2. 答复阶段(Promise Phase):每个节点都会收到这个请求,如果节点的编号 N 大于等于 n,则它会回复一个承诺(Promise),承诺不再接受编号小于等于 n 的提议。1. 提议阶段(Prepare Phase):任何节点发起一个提议,向所有其他节点发送一个编号 n 的请求(Prepare request)。

2023-05-31 09:17:24 95 1

原创 OOM,狼来了?

用一个简单的例子来说,每一个进程就像一场战争,操作系统就是将军,数据代码是士兵,内存空间就是粮草,大家都知道,打仗是很耗费人力物力的,有句经典名言说的是,兵马未动,粮草先行,,粮草不足的话,仗肯定是打不过的,士兵都饿的前胸贴后背了,武器都拿不起了,那肯定就是要吃败仗的,所有从这里也可以看出来内存的重要性了。要知道什么是oom,首先要知道什么是内存,内存(Memory)是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。这可能会影响整个作业的执行。

2023-05-31 09:02:43 139 1

原创 Java 面试题 (超全、超实用2023.5)

58. 什么是 Java 序列化?什么情况下需要序列化?Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。以下情况需要使用 Java 序列化:想把的内存中的对象状态保存到一个文件中或者数据库中时候;想用套接字在网络上传送对象的时候;想通过RMI(远程方法调用)传输对象的时候。59. 动态代理是什么?有哪些应用?动态代理是运行时动态生成代理类。

2023-05-16 17:06:24 362 1

原创 cookie的作用session都有 且安全性还相对较差 为什么还要使用cookie

3. 安全性问题可以通过设置HttpOnly属性和Secure属性来弥补:HttpOnly属性设置后,cookie只能通过http协议传递到服务器,无法通过JavaScript脚本进行读取,这就可以避免cookie被恶意程序利用窃取用户信息。1. 持久化存储:cookie可以将一些信息存储在用户的浏览器中,并且可以设置有效期,在有效期内用户再次访问网站时可以自动读取cookie中的信息,这样可以实现一些业务需求,例如记住用户登录状态等。同时,可以通过设置一些属性来弥补其安全性问题。

2023-05-15 20:45:47 636 1

原创 Session、cookie、Token的关系

客户端在第一次访问服务器的时候,服务端会响应一个sessionId,并且将它存入到客户端本地的cookie中,在之后的访问会将cookie中的sessionId放入到请求头中去访问服务器,如果服务器通过这个sessionId没有找到对应的数据,那么服务器会创建一个新的sessionId并且响应给客户端。Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

2023-05-15 20:32:53 157 1

空空如也

空空如也

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

TA关注的人

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