![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
文章平均质量分 79
妙龄少女郭德纲
个人公众号 是十三不是四十三 ,分享一些算法和大数据相关的知识~
展开
-
Spark常见面试题整理
之前写过不少SparkMLlib和SparkGraphX的应用,但是一直都没有像Flink那样系统的写过它的架构和API等,一方面是它们有很多类似的情况,基本都是一通百通,另一方面是确实懒,最近两天整理文档翻到之前整理的一些面试题和工作中积累的一些有关Spark的问题,再整理一下发出来~分两种情况,一是小表Join大表,二是大表Join大表(小表Join小表,没有优化的必要),这里表的书法只是一种泛指,Spark中的join操作通用,包括RDD的Join。Spark中如何优化Join操作?数据倾斜指的是数据原创 2024-09-06 10:08:09 · 476 阅读 · 0 评论 -
基于SparkGraphX实现带权重的PageRank算法
网页排序算法之PageRank其实PageRank也没跳出之前在前几篇文章中提到过的Pregel三件套,步骤一样,按需求修改源码即可。原创 2024-09-02 12:18:03 · 414 阅读 · 0 评论 -
使用SparkGraphX进行图计算时的编码问题
在SparkGraphX体系中,要求图网络中的点ID必须为Long类型,不像Python中的networkX工具包支持字符串类型的节点表示,但在现实场景中,有很多情况下,点ID都是字符串类型的,如身份证号、设备号或是埋点采集到的uid等等,都不是单纯能够使用Long类型来表示的。为解决上述问题,本文将提出两种解决方案,分别是Hash编码以及Row_number编码,接下来本文将详细描述上述两种方案的优缺点以及实现代码(基于Scala实现)。与Python自带的Hash编码不同,Java中的hash编码,多原创 2024-08-27 11:49:33 · 508 阅读 · 0 评论 -
基于Spark计算网络图中节点之间的Jaccard相似性
什么是MinHashLSH。原创 2024-08-22 16:16:58 · 492 阅读 · 0 评论 -
基于Spark实现大数据量的Node2Vec
Node2Vec 是一种基于图的学习算法,用于生成图中节点的低维度、高质量的向量表示。这种算法基于 word2vec 模型,将自然语言处理中的词嵌入技术应用于图结构的节点,以捕捉节点之间的复杂关系。Node2Vec 特别强调同时保留图中的局部(微观)和全局(宏观)结构信息。Node2Vec生成的节点嵌入可以有效的表示节点的网络邻域结构,其中相似或功能相关的节点在向量空间中彼此靠近,并且也可以当做特征输入到下游的机器学习任务。之前有写过一篇Python实现Node2Vec的文章,里面详细写了算法原理以及实现原创 2024-08-21 17:18:58 · 401 阅读 · 0 评论 -
基于SparkGraphX实现大数据量的Louvain算法(附Scala代码)
之前针对社群发现类算法有写过一篇用Python实现的面向小数据集的文章,其中也有涉及到Louvain算法的原理,今天这篇将主要专注于借助SparkGraphX实现Louvain算法的实现方案,该方案将更适用于大数据量,并且扩展性较好,集群资源给够就可以支持更大的数据量。不过需要注意的是,图计算框架SparkGraphX其实并不算是一个非常高效的框架(存在数据交换开销等等,可以查下资料图片),但是由于其依托于成熟的大数据框架Spark而实现,故而可以说是大数据图计算领域最为常用的一个图计算框架。其他的图计算框原创 2024-08-20 17:58:18 · 557 阅读 · 0 评论 -
Spark算法之ALS模型(附Scala代码)
ALS模型,全称为交替最小二乘法(Alternating Least Squares),是一种基于协同过滤思想的矩阵分解算法。它的核心思想是通过隐含特征(latent factors)联系用户兴趣和物品(item),基于用户的行为找出潜在的主题和分类,然后对物品进行自动聚类,划分到不同类别或主题(代表用户的兴趣)。ALS算法的亮点之一在于优化参数时使用了交替最小二乘法,而非梯度下降算法,这使得ALS算法可以进行分布式并行计算。原创 2024-06-26 17:02:00 · 1097 阅读 · 0 评论