- 博客(70)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 哈夫曼编码详解——图解真能看了秒懂
直接上题目:已知字符集{ a, b, c, d, e, f },若各字符出现的次数分别为{ 6, 3, 8, 2, 10, 4 },则对应字符集中各字符的哈夫曼编码可能是:(2分)A. 00, 1011, 01, 1010, 11, 100B. 00, 100, 110, 000, 0010, 01C. 10, 1011, 11, 001D. 0011, 10, 11, 0010, 01, 000
2020-06-13 12:51:05
297802
97
原创 维度建模步骤
维度建模从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。其典型的代表是星形模型,以及在一些特殊场景下使用的雪花模型。其设计分为以下几个步骤。
2024-07-11 15:36:58
216
原创 请写sql满足业务:找到连续登录3天以上的用户
该查询使用了子查询和窗口函数来计算每个用户的登录日期的行号,并与前一天的日期进行比较。如果两个连续的日期之间的差为1,则认为用户连续登录了2天以上。此外,查询结果中的重复用户ID将被移除,只返回一个用户ID。如果需要返回所有连续登录2天以上的用户ID,可以适当修改查询。函数对每个用户的登录日期进行排序,并为每一行分配一个行号。函数检查当前日期与前一天的日期之间的差是否为1。如果条件满足,则返回该用户的ID。请注意,上述查询假设登录日期是按升序排列的。如果登录日期没有排序,可以在子查询中的。
2024-07-04 22:05:09
693
原创 Spark-RDD算子大全
Spark RDD(弹性分布式数据集)是Spark中的核心抽象,它代表一个不可变、分区的分布式数据集合。下面是一些常用的RDD算子:map(func):对RDD中的每个元素应用给定的函数,返回一个新的RDD。filter(func):对RDD中的每个元素应用给定的函数,返回满足条件的元素组成的新的RDD。flatMap(func):对RDD中的每个元素应用给定的函数并返回一个迭代器,将所有迭代器的元素组合成一个新的RDD。
2024-01-16 14:03:30
858
原创 Linux常用指令
touch:创建一个新的空文件或更新文件的时间戳。top:实时显示系统的资源使用情况和运行的进程。mv:移动文件或目录,或者重命名文件或目录。find:在文件系统中搜索文件或目录。chown:修改文件或目录的所有者。chgrp:修改文件或目录的所属组。grep:在文件中搜索指定的模式。chmod:修改文件或目录的权限。ls:列出目录中的文件和子目录。mkdir:创建一个新的目录。pwd:显示当前所在的目录。cd:切换到指定的目录。rm:删除文件或目录。cp:复制文件或目录。cat:查看文件内容。
2024-01-16 13:54:22
484
原创 Hive中的四种排序
order by 是全局排序,可能性能会比较差;sort by分区内有序,往往配合distribute by来确定该分区都有那些数据;distribute by 确定了数据分发的规则,满足相同条件的数据被分发到一个reducer;cluster by 当distribute by和sort by 字段相同时,可以使用cluster by 代替distribute by和sort by,但是cluster by默认是升序,不能指定排序方向;
2024-01-08 11:29:41
688
原创 数仓分层结构
ODS层:数据存储格式:JSON/TSV+ gzip压缩(默认)Operate Data Store-- 存储从mysql业务数据库和日志服务器的日志文件中采集到的数据-- 日志数据-- 格式:JSON--业务数据--历史数据-- 格式:-- 全量-- Datax : TSV
2024-01-04 15:50:37
981
原创 数仓面经大框架
窗口函数 (重点) sum、rank、 dense. rank、rank、 partition by 、 order by。业务背景,数仓面向的业务需求(模型数据、后端数据、用户画像、项目用户流量概况、项目内部建设概况、项目营收概况报表展示)。调优(重点) ,Hive调优(参数、sql),Spark调优(资源、开发算子、数据倾斜、参数)技术栈 (数据抽取(增量,全量)、数仓模型开发、业务需求指标开发、BI 报表开发..);数仓搭建流程、数仓分层(优势、内容)、维度建模等等。
2023-11-08 20:47:40
290
原创 多值维度的原因与解决办法?
如果事实表中一条记录在某个维度表中有多条记录与之对应,称为多值维度。例如,下单事实表中的一条记录为一个订单,一个订单可能包含多个商品,所会商品维度表中就可能有多条数据与之对应。第二种:在事实表中采用多字段保存多个维度值,每个字段保存一个维度 id。这种方案只适用于多值维度个数固定的情况。第一种: 降低事实表的粒度,例如将订单事实表的粒度由一个订单降低为一个订单中的一个商品项。针对这种情况,通常采用以下两种方案解决。建议尽量采用第一种方案解决多值维度问题。
2023-10-26 23:30:01
191
原创 数仓面试题(3)
雪花模型(Snowflake Model)是一种分布式ID生成算法,它生成的ID是一个64位的整数,由以下几个部分组成:时间戳(41位)、机器ID(5位)、数据中心ID(5位)、序列号(12位)。星座模型(Snowflake Schema)是雪花模型和星型模型的结合体,它既具有雪花模型的时间戳和唯一性,又具有星型模型的维度和聚合查询能力。假设有一个名为"login"的表,包含用户登录的信息,其中"user_id"是用户的唯一标识,"login_date"是登录日期。使用Hive的桶表功能。
2023-10-24 15:13:05
261
原创 数仓经典面试题
数据仓库是一个用于存储和管理数据的系统,它可以将分散的、异构的数据源中的数据进行抽取、转换、清洗和整合,然后按照一定的模型和架构进行组织和存储,以便更好地支持决策分析和业务操作。数据仓库通常包括数据源、ETL(提取、转换、加载)过程、数据存储和数据查询等组成部分。数据中台是一个集数据采集、数据处理、数据存储、数据服务于一体的平台,它可以将各个业务系统的数据进行整合、清洗、分析和挖掘,然后以服务的形式提供给前端应用,以支持各种业务需求。
2023-10-24 10:15:02
843
原创 Hadoop面试题(HDFS篇)
合并小文件:HDFS提供了一个称为SequenceFile的文件格式,可以将多个小文件合并成一个大文件,从而减少存储和管理的开销。HDFS在处理客户端写入大量小文件时面临一些挑战,因为每个小文件都会占用HDFS的一个数据块,并且在HDFS中存储和管理大量小文件可能会导致性能下降和资源浪费。使用HDFS的小文件优化策略:HDFS提供了一些针对小文件的优化策略,如将小文件放入单独的目录或块中,或在NameNode中使用B树或LSM树等数据结构来管理小文件的元数据。这些优化策略可以改善小文件的管理和访问性能。
2023-10-21 23:29:32
944
原创 Hadoop面试题(2)
数据倾斜指的是在分布式计算中,数据在某些节点上不均匀地分布,导致某些节点的负载过重,影响整体计算性能。通过增加数据的分区数量,可以使数据更均匀地分布在多个节点上,从而减轻某个节点的负载。可以使用动态分区或者预先定义的静态分区来实现。数据倾斜常出现在Join操作中,可以通过以下方式进行优化:增加Join的并行度:通过增加Join操作的并行度,将数据分发到更多的节点上进行计算,减轻负载。
2023-10-19 21:53:13
796
原创 Hive篇面试题+详解
Hive是一个基于Hadoop的数据仓库工具,它提供了一个类SQL的查询语言(HiveQL)来查询和分析存储在Hadoop集群中的大规模数据。Hive的主要功能是将结构化数据映射到Hadoop的分布式文件系统(HDFS)上,并提供高级查询和分析功能。Hive支持多种存储格式,包括文本文件、序列文件、RC文件、ORC文件和Parquet文件等。文本文件:适用于存储结构简单的数据,易于读写和处理,但性能较差。序列文件:适用于大规模数据的读写操作,提供高压缩率和高性能。
2023-10-19 20:59:46
969
原创 Hadoop面试题+详解
在Hadoop中,主动和被动NameNodes是用于提供高可用性的NameNode节点的概念。在Hadoop 2及之后的版本中,引入了NameNode HA(高可用性)机制,以解决单个NameNode节点成为单点故障的问题。该机制使用两个NameNode节点:一个是主动(Active)NameNode,另一个是被动(Standby)NameNode。当主动NameNode发生故障或需要维护时,被动NameNode会自动切换为主动状态,接管集群的管理责任。
2023-10-17 22:58:51
960
原创 Spark中的Driver、Executor、Stage、TaskSet、DAGScheduler等介绍
在 Spark 中,有多个概念和组件相互协作,以实现分布式数据处理。如有错误,欢迎指出!如有错误,欢迎指出!如有错误,欢迎指出!
2023-10-13 16:37:00
2298
原创 Spark工作流程
整个流程中,Spark 通过惰性求值和执行计划的方式实现了高效的数据流处理。它利用分布式计算和内存存储的优势,将数据加载到内存中进行处理,从而加速了计算过程。同时,Spark 提供了丰富的转换和操作操作,使得用户可以快速高效地处理和分析大规模数据集。
2023-10-13 14:13:46
863
原创 Spark 的主要组件及任务分工
Spark 是一个开源的分布式计算框架,旨在处理大规模数据集的快速计算和分析。Cluster Manager(集群管理器):【资源管理】Executor(执行器):【计算/执行任务】Driver(驱动器):【任务调度】
2023-10-13 14:11:41
1364
原创 Spark RDD简记
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。
2023-10-12 17:08:16
608
原创 数仓面试题(1)
星型模型是一种非正规化的架构,因为多维数据集的每一个维度都和事实表直接相连,不存在渐变维度,所以有一定的数据冗余,因为有数据的冗余,很多的统计情况下,不需要和外表关联进行查询和数据分析,因此效率相对较高。雪花模型:当有多个维度表没有直接和事实表相连,而是通过其它的维度表,间接的连接在事实表上,其图形就像是一个雪花,因此我们称之为雪花模型,雪花模型的优点是减少了数据冗余,在进行数据统计或分析的时候,需要和其他的表进行关联。去除了冗余,设计复杂,可读性差,关联的维度表多,查询效率低,但是可扩展性好。
2023-10-10 16:45:30
267
原创 机器学习随记(10)——逻辑回归全方位推导
逻辑回归是一个非线性模型,但是是其背后是以线性回归为理论支撑的。线性模型的表达形式可由下式简化为y的输出范围没有任何限制,即 (−∞,+∞)。而作为一个分类器,我们需要输出的是位于 0 和 1 之间的合法概率值。将“概率”转换为“分类”的工具是“阶梯函数”即转为发生y=1和发生y=0的概率为但是,阶梯函数是不连续的,不可导。因此,使用对数几率函数来在一定程度上近似阶梯函数,将线性回归模型的预测值转化为分类所对应的概率。从另一个角度解释为什么选择的是对数几率函数。
2023-05-29 14:41:30
1138
原创 机器学习随记(9)
梯度消失:在深度神经网络中,激活函数(如sigmoid、tanh等)的导数在接近0的区域内取值很小,导致在反向传播时,梯度也变得很小,甚至趋近于0,这会导致模型的学习变得非常缓慢或停滞不前,称为梯度消失问题。在判断过拟合时,可以观察模型的训练集误差和测试集误差,如果训练集误差较小,但测试集误差较大,则说明模型存在过拟合问题。需要注意的是,过拟合和欠拟合不是绝对的,而是相对的,需要根据具体问题和数据特点来选择合适的模型和调整模型的超参数,以提高模型的性能和泛化能力。
2023-05-25 11:29:31
842
原创 机器学习随记(8)——各大模型调优方式
可以通过调整优化算法的参数,例如,学习率、迭代次数、批量大小等,来寻找最优的超参数组合。调整样本权重和特征权重:可以通过调整subsample和colsample_bytree参数来控制样本和特征的采样比例,以提高模型的鲁棒性和泛化能力。调整核函数的参数:可以通过调整核函数的超参数,例如,高斯核函数的gamma参数和多项式核函数的degree参数等,来寻找最优的超参数组合。调整迭代次数和批量大小:可以通过调整迭代次数和批量大小来控制模型的训练速度和收敛性能,以提高模型的准确率和泛化能力。
2023-05-23 21:35:33
1460
原创 机器学习随记(7)——bootstrap、bagging、boosting、随机森林
是一种统计方法,也是一种思想,简单说就是在所有样本集中进行有放回地抽样,抽取n个样本。如果不清楚样本的分布,bootstrap是一种合适的方法。Bagging方法在训练过程中,各基分 类器之间,可以进行并行训练。其中很著名的算法之一是基于决策树基 分类器的随机森林(Random Forest)。为了让基分类器之间互相独立,将训练集 分为若干子集(当训练样本数量较少时,子集之间可能有交叠)。Bagging方法更 像是一个集体决策的过程,每个个体都进行单独学习,学习的内容可以相同,也 可以不同,也可以部分重叠。
2023-05-19 20:15:37
819
原创 机器学习随记(6)—K-means
在不同随机初始化的这些不同解决方案之间进行选择的一种方法是选择具有最低成本函数值(失真)的解决方案。给定每个点到质心的分配,算法的第二阶段为每个质心重新计算分配给它的点的平均值。因此,在实践中,K-means 算法通常使用不同的随机初始化运行几次。然而,收敛的解决方案可能并不总是理想的,并且取决于质心的初始设置。您将在接下来的部分中分别实现 K-means 算法的两个阶段。K-means 算法是一种自动将相似数据点聚集在一起的方法。(ii) 使用分配给它的点重新计算每个质心的平均值。
2023-05-11 10:59:41
462
原创 机器学习随记(4)
使用sklearn创建高次多项式线性模型 ,在训练集上进行训练。对训练数据进行预测,找出训练误差。预测测试数据,得出测试误差。
2023-05-07 15:36:46
124
原创 机器学习随记(3)— Softmax
(简单说就是将softmax整合进loss计算中,并在神经网络最后一层的softmax层变成线性激活层)训练过程中将 softmax 和 loss 结合起来,可以获得更稳定和准确的结果。注意:输出预测不是概率!如果所需的输出是概率,则输出应由 softmax处理!与sigmoid不同,softmax可以多个输出,每个输出以概率的形式表示。Tensorflow 有两种可能的目标值格式,损失的选择定义了预期的格式。这是所有损失的平均值。
2023-05-07 11:25:46
339
原创 机器学习随记(2)
tf.keras.layers.Normalization` 是 TensorFlow 中的标准化层,它可以将输入数据标准化为均值为 0,方差为 1 的数据。具体来说,`tf.keras.layers.Normalization` 实现了以下操作:1. 对输入数据进行逐个特征的标准化,即对每个特征计算其均值和标准差,然后对该特征进行标准化。2. 可以指定标准化的轴(axis),默认为最后一个轴(即特征轴)。
2023-05-06 16:27:09
646
原创 机器学习随记(1)
目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是代价函数 + 正则化项)。代价函数最小化,降低经验风险,正则化项最小化降低。代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。Loss 是单个示例与其目标值的差异的度量,而 Cost 是训练集上损失的度量。正则化线性回归的成本函数。正则化逻辑回归的成本函数。
2023-05-05 17:59:00
128
原创 机器学习简记:偏差、方差及优化模型的方法
偏差:训练集预测的错误率,它是训练集预测结果与实际真值之间差距(距离的期望)。方差:交叉验证集的错误率,它是验证集预测结果与训练集之间差距。方差高:代表训练集过拟合。偏差高:代表训练集欠拟合。
2023-04-10 21:12:53
374
原创 LaTex 控制图片表格位置[h][t][b][htb]等
如果浮动适合当前页面并且没有其他等待的相同类型的浮动对象,则将放置浮动,忽略上面预定义的文本和浮动比例。,此外还有浮点数之前、之后和之间的间距长度。这给人的印象是 LaTeX 如何自动处理合理的图形放置,您可以自行调整 - 或者。,数字是可以通过 更改的计数器。这意味着,如果您添加。
2022-11-17 21:12:57
570420
原创 模块度(矩阵方法)实现Matlab&Python
模块度(矩阵方法)实现Matlab&Python,也将其拓展到了符号网络模块度QS(矩阵方法)
2022-10-24 18:29:54
1569
1
原创 numpy.random.permutation()简答
np.random.permutation()生产随机序列,乱序.1.输入一维数组:arr = np.array([1,3,5,7,9,11])per = np.random.permutation(arr)print(per)输出1:[ 5 7 3 11 1 9]输出2:[ 1 5 9 11 3 7]输出3:[ 9 1 7 11 5 3]2.输入列表list = [2,4,6,8,10,6,8]per = np.random.permut...
2021-12-23 19:07:04
992
原创 pd.value_counts()简答
1.pd.value_counts(value)计数,每个数字或字符的个数。list = [2,4,6,8,10,6,8]print(pd.value_counts(list))输出:2.pd.value_counts(value).index只要value中的元素(不重复)list = [2,4,6,8,10,6,8]a = pd.value_counts(list).index.tolist()print(a)输出:[6, 8, 4, 10, 2]...
2021-12-23 13:05:02
4418
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人