#GraphFrames
GraphFrames: Processing and analytics framework. Built on top of Apache Spark and relies on DataFrame

#Graph Algorithms: PageRank, Pregel, AggregateMessages, motif matching
Apache 2.0 lic
#RAG #OpenSource

github.com/graphframes/...
GitHub - graphframes/graphframes: GraphFrames is a package for Apache Spark which provides DataFrame-based Graphs
GraphFrames is a package for Apache Spark which provides DataFrame-based Graphs - graphframes/graphframes
github.com
January 10, 2026 at 12:41 PM
The Weekly Edge: #GraphFrames, #Kuzu News-u, Hail Hydra, & More [8 August 2025]
by @bwmerkl.bsky.social

Catch this 🔥weekly roundup of graph tech news every Friday:https://gdotv.com/blog/weekly-edge-graphframes-kuzu-neo4j-hydra-8-august-2025/

#graphdatabases #Neo4j #knowledgegraphs
August 8, 2025 at 10:36 AM
A new AI review! graphframes/graphframes ⭐4.0/5.0
GraphFrames is a mature, actively maintained graph analytics library built on Apache Spark’s DataFrame API, providing scalable implementations of common graph algorithms (e.g., PageRank, connected compo...
https://gitrated.com/graphframes/graphframes
May 2, 2026 at 7:59 PM
New blog post (engineering)!

I'm exploring the problem of generating node embeddings at scale of big-data graphs in a distributed way.

semyonsinchenko.github.io/ssinchenko/p...
Graph Embeddings at scale with Spark and GraphFrames
In this blog post, I will recount my experience working on the addition of the graph embeddings API to the GraphFrames library. I will start with a top-level overview of the vertex representation lear...
semyonsinchenko.github.io
December 15, 2025 at 1:59 PM
GraphFrames, a major graph analysis library update

New GraphFrames release: Improved performance, new algorithms, and documentation | Sem Sinchenko posted on the topic | LinkedInOn behalf of the GraphFrames maintainers, I am happy to announce the delivery of a new release. It is a significant […]
26년 4월 2주차 그래프 오마카세
## GraphFrames, a major graph analysis library update New GraphFrames release: Improved performance, new algorithms, and documentation | Sem Sinchenko posted on the topic | LinkedInOn behalf of the GraphFrames maintainers, I am happy to announce the delivery of a new release. It is a significant improvement! It improves performance and memory management: The new release provides 3-50x faster performance for all algorithms. The x5 performance improvement in Connected Components is especially important, as it allows one to perform graph-based identity resolution much faster with the new GraphFrames. All Pregel-based algorithms, such as Shortest Paths and Label Propagation, received a boost of around 3x. The new release comes with its own internal fork of Apache #Spark GraphX due to its deprecation in upstream Spark. This allows us to improve the performance of GraphX-based Label Propagation by 50x and fix memory leaks. Now, it is usable for graph processing inside Structured Streaming. New algorithms were added: New algorithms for K-core centrality, cycle detection, and maximal independent set were added. All of them are based on advanced scientific papers and operate fully in a distributed manner. New APIs: A new API for computing vertex degrees based on edge types was added. The motifs finding API now supports undirected, bidirectional, and multi-hop patterns. The #PySpark API has all the recent improvements in the Scala Core, so there is feature parity between the core and Python. Documentation improvements: The documentation has been significantly expanded, especially the sections on the arguments and parameters of the algorithms. To simplify the onboarding process for new users, the documentation website now contains an llms.txt file in the root directory. Asking an LLM chatbot or coding assistant about how to use GraphFrames is now more efficient. It is already published in Maven Central and PyPi! Blog-post: https://lnkd.in/dU4kRmSDLinkedInSem SinchenkoGraphFrames 0.10.0 releaseScalable Graph Processing on top of Apache Spark #### Keywords * Apache Spark * Distributed Graph Processing * Graph Embedding * PySpark * 그래프 분석을 대규모로 실행해야 할 때, 선택지는 생각보다 많지 않습니다. NetworkX는 단일 머신의 메모리 한계를 넘기 어렵고, Neo4j는 배치 처리보다는 OLTP 중심의 구조를 가집니다. 수백억 개의 노드와 엣지를 다뤄야 하는 환경이라면, 결국 Apache Spark 위에서 돌아가는 GraphFrames이 큰 주목을 받고 있습니다.. * GraphFrames는 Spark DataFrame 위에서 그래프 알고리즘을 실행할 수 있도록 설계된 라이브러리입니다. 오랫동안 유지보수가 뜸했던 시기가 있었지만, 최근 빠르게 부활하며 0.10.0과 0.11.0 두 버전을 연달아 릴리즈했습니다. 두 릴리즈를 합쳐 살펴보면 꽤 묵직한 업데이트라고 생각이 됩니다. * 이번 오마카세에서는 이 두 버전에서 주목할 만한 변경 사항들을 정리한 릴리즈 노트 핵심을 가볍게 전달해드리고자 합니다. 대용량 그래프 데이터를 다루는 분들, 혹은 Spark 기반 파이프라인에 그래프 분석을 얹으려는 분들이라면 한 번쯤 살펴볼 만한 내용입니다. * * * ### GraphX 패치 중단 * GraphX는 Apache Spark 4.0부터 공식적으로 Deprecated 처리되었고, 더 이상 패치를 받지 않습니다. GraphFrames 팀은 이에 대응해 GraphX의 내부 포크를 직접 관리하기로 결정했고, 그 첫 번째 결실이 바로 **LabelPropagation 알고리즘의 전면 재작성** 입니다. * 기존 구현은 각 노드가 이웃 노드의 레이블을 'map<vertexID, Label>' 형태로 주고받는 방식이었는데, 이 과정의 시간복잡도가 최악의 경우 _O(N²)_ 에 달했습니다. 새 구현에서는 이를 'Vector[Label]'로 대체하여 복잡도를 _O(N)_ 으로 낮췄고, 메모리 사용량 역시 Scala 컬렉션 벤치마크 기준으로 Map 대비 약 5배 절감되었습니다. * 실측 결과는 더 인상적입니다. 200만 노드, 500만 엣지 규모의 Wiki-talk 그래프에서 기존 Spark 구현이 약 3,500초 걸리던 작업이 약 _50초_ 로 단축되었습니다. (약 70배의 속도 향상) ### Connected Component 알고리즘 향상 * Connected Components (연결 컴포넌트)는 GraphFrames에서 가장 많이 쓰이는 알고리즘 중 하나입니다. 특히 _Identity Resolution(동일 사용자 식별)_ 이나 _데이터 중복 제거 문제_ 에서 핵심적인 역할을 합니다. * 세션 > IP 또는 브라우저 같은 연결관계를 그래프로 표현한다면, 같은 사용자가 남긴 세션들은 하나의 연결 컴포넌트를 이룹니다. 여기서 동일 사용자 식별 문제란, 수천만개의 세션 로그에서 동일 사용자를 찾아내는 문제로 생각해보시면 좋습니다. 즉, 연결 컴포넌트를 찾는 것이 곧 사용자들을 하나로 묶는 것과 같은 문제입니다. * 0.10.0에서는 기존 Two Phase 알고리즘에서 발생하던 데이터 편중 문제를 해결하면서 Spark AQE(Adaptive Query Execution)와의 호환성을 확보했습니다. 'broadcastThreshold=-1'로 설정하면 수동 broadcasting을 완전히 비활성화하고 AQE가 skewness를 자동으로 처리하도록 위임할 수 있으며, 벤치마크 기준으로 기존 방식 대비 5~8배 빨라졌습니다. * 0.11.0에서는 알고리즘 선택지 자체가 늘었습니다. 이제 GraphX 기반, Two Phase, 그리고 새로 추가된 Randomized Contraction 중 하나를 선택할 수 있습니다. Randomized Contraction은 랜덤 선형 함수를 이용해 그래프를 반복적으로 축약하는 방식으로, 작은 그래프에서의 벤치마크 결과가 기대 이상이었다고 합니다. ### 그래프 임베딩 파이프라인 정식 탑재 * 0.11.0에서 가장 눈에 띄는 업데이트 중 하나입니다. Random Walk 기반의 그래프 임베딩 파이프라인이 정식으로 추가되었습니다. 구체적으로는 RandomWalkWithRestart로 각 노드에서 랜덤 워크 시퀀스를 생성한 뒤, Word2Vec 또는 Hash2Vec으로 벡터화하는 흐름입니다. * 두 모델의 쓰임새는 명확하게 구분됩니다. Word2Vec은 임베딩 품질이 높지만 약 2,000만 노드 규모까지 적합하고, Hash2Vec은 명시적인 어휘 저장 없이 수십억 노드 규모까지 처리 가능한 경량 모델입니다. * 또한 aggregateNeighbors 옵션을 켜면 GraphSAGE 방식으로 이웃 임베딩을 평균 내어 해당 노드의 벡터와 이어 붙이는 연산이 추가됩니다. 생성된 임베딩은 노드 분류, 링크 예측, 커뮤니티 탐지, 이상 탐지 등 다양한 작업에 바로 활용할 수 있습니다. * 합성 벤치마크 기준으로 하위 태스크 성능이 20% 이상 개선되었다고 합니다. ### Motif Finding 강화 & 신규 알고리즘 추가 * 모티프 탐색(Motif Finding)은 그래프에서 특정 구조 패턴을 찾는 기능으로, GraphFrames의 차별화 포인트 중 하나입니다. 0.10.0부터 무방향 엣지, 양방향 엣지, 가변 길이 경로 등 더 복잡한 패턴을 표현할 수 있게 되었습니다. * 신규 알고리즘도 추가되었습니다. Cycle Detection, K-Core Decomposition, Maximal Independent Set(MIS)이 새롭게 도입되었습니다. Graphframes의 사이클 탐지는 금융 사기 탐지에서, K-Core는 네트워크 안정성 분석에서, MIS는 마케팅 인플루언서 선정 같은 비중복 노드 집합 추출 문제에 활용할 수 있습니다. ### Property Graph API와 PySpark 지원 확대 * 0.11.0에서는 PySpark용 PropertyGraphFrame API가 추가되었습니다. graphframes API를 사용하면 서로 다른 타입의 노드와 엣지를 하나의 그래프 구조 안에 통합해서 관리할 수 있습니다. 예를 들어 users 노드와 products 노드, 그리고 그 사이의 purchases 엣지를 하나의 PropertyGraphFrame으로 묶은 뒤, 표준 GraphFrame으로 변환해 알고리즘을 돌리는 식입니다. * 0.10.0에서는 Scala API와 PySpark Classic/Connect API 간의 기능 격차도 해소되어 PySpark 사용자도 최신 기능을 모두 쓸 수 있게 되었습니다. * * * * LabelPropagation 70배 개선, 메모리 누수 해결, AQE 연동, 그래프 임베딩 파이프라인 탑재, Property Graph API까지, 이번 릴리즈 포인트는 단순한 기존 버그 픽스가 아니라 아키텍처 수준에서 재정비된 느낌을 주는 대규모 업데이트입니다. * 특히 Spark 4.0에서 GraphX가 Deprecated된 시점에 GraphFrames가 자체 포크를 들고 나온 것은 꽤 의미 있는 움직임입니다. 대규모 그래프 처리에서 Spark 생태계의 공백을 GraphFrames가 메우려는 의도가 보입니다. * 예고된 다음 릴리즈(0.12.0)에서는 GQL 쿼리 엔진과 가중치 기반 랜덤 워크, 시간 기반 랜덤 워크 등이 예고되어 있어 계속해서 지켜볼 만한 프로젝트입니다. GitHub - graphframes/graphframes: GraphFrames is a package for Apache Spark which provides DataFrame-based GraphsGraphFrames is a package for Apache Spark which provides DataFrame-based Graphs - graphframes/graphframesGitHubgraphframes ## [Contact Info] Gmail: jhbae1184@akane.waseda.jp Twitter (X): @jhbae1184 LinkedIn
www.graphusergroup.com
April 5, 2026 at 3:34 AM
Shit, holla! May try to use this to add my motif lesson to the GraphFrames docs…
December 24, 2024 at 12:36 AM
@squarecog.bsky.social there’s a Node2Vec implementation in Mercury Graph that I want to edit and include in GraphFrames. Both are Apache2 licensed. Can this be done, and how?
January 14, 2025 at 9:47 PM
CRAN removals: dlbayes fc gpx graphframes halfcircle happytime hhi icRSF jeek lamme lira lsbs manet mar1s mstR multiROC netregR normalr phiDelta plde #rstats
May 4, 2026 at 11:02 AM
Large-Scale Graphs Community Detection using Spark GraphFrames
https://arxiv.org/abs/2408.03966
With the emergence of social networks, online platforms dedicated to different use cases, and sensor networks, the emergence of large-scale graph community detection has become a steady field of re...📈🤖
August 9, 2024 at 4:21 PM
Removed from CRAN: graphframes (0.1.2), halfcircle (0.1.0), happytime (0.1.0), hhi (1.2.0), HMP (2.0.1), icRSF (1.2), ISAT (1.0.5), jeek (1.1.1), lamme (0.0.1), LinkageMapView (2.1.2), lira (2.0.1), lsbs (0.1), manet (2.0), mar1s (2.1.1), MEPDF (3.0), mstR (1.2), multiROC (1.1.1)
May 5, 2026 at 10:47 AM
Spark 40 & Neo4j Connector Upgrade: Massive Knowledge Graph Pipeline for Cybersecurity Threat Hunting + Video

Introduction: Knowledge graphs are revolutionizing cybersecurity by mapping adversarial tactics, techniques, and procedures (TTPs) into interconnected entities. The recent pull request…
Spark 40 & Neo4j Connector Upgrade: Massive Knowledge Graph Pipeline for Cybersecurity Threat Hunting + Video
Introduction: Knowledge graphs are revolutionizing cybersecurity by mapping adversarial tactics, techniques, and procedures (TTPs) into interconnected entities. The recent pull request updating the Neo4j Spark Connector to support Apache Spark 4.0 and 4.1 enables security teams to process petabyte-scale logs, build real-time threat graphs, and offload intensive GraphFrames batch processing—dramatically reducing costs for SIEM and SOAR integrations. Learning Objectives: Deploy Neo4j with Spark 4.x using the upgraded connector for large‑scale knowledge graph construction.
undercodetesting.com
May 7, 2026 at 8:10 AM
I'm reviewing existing approaches, including Random Walks based embeddings. I'm providing a scalable implementation for Spark/GraphFrames and discussing hacks and tradeoffs to avoid skew on executors and big shuffles across the network.
December 15, 2025 at 2:00 PM
25년 11월 2주차 그래프 오마카
## GraphFrames: Architectural Evolution from GraphX for Big Data and AI Applications GraphFrames: an integrated API for mixing graph and relational queriesGraph data is prevalent in many domains, but it has usually required specialized engines to analyze. This design is onerous for users and precludes optimization across complete workflows. We…OpenReview.netAnkur DaveNew GraphFrames release with improved performance and new algorithms | Sem Sinchenko posted on the topic | LinkedInOn behalf of the GraphFrames maintainers, I am happy to announce the delivery of a new release. It is a significant improvement! It improves performance and memory management: The new release provides 3-50x faster performance for all algorithms. The x5 performance improvement in Connected Components is especially important, as it allows one to perform graph-based identity resolution much faster with the new GraphFrames. All Pregel-based algorithms, such as Shortest Paths and Label Propagation, received a boost of around 3x. The new release comes with its own internal fork of Apache #Spark GraphX due to its deprecation in upstream Spark. This allows us to improve the performance of GraphX-based Label Propagation by 50x and fix memory leaks. Now, it is usable for graph processing inside Structured Streaming. New algorithms were added: New algorithms for K-core centrality, cycle detection, and maximal independent set were added. All of them are based on advanced scientific papers and operate fully in a distributed manner. New APIs: A new API for computing vertex degrees based on edge types was added. The motifs finding API now supports undirected, bidirectional, and multi-hop patterns. The #PySpark API has all the recent improvements in the Scala Core, so there is feature parity between the core and Python. Documentation improvements: The documentation has been significantly expanded, especially the sections on the arguments and parameters of the algorithms. To simplify the onboarding process for new users, the documentation website now contains an llms.txt file in the root directory. Asking an LLM chatbot or coding assistant about how to use GraphFrames is now more efficient. It is already published in Maven Central and PyPi! Blog-post: https://lnkd.in/dU4kRmSDLinkedInSem Sinchenko * 잘 아시다시피, 오늘날 그래프 기반 데이터 분석 기술들은 단순한 표 형식을 넘어 엔티티와 관계를 통해 객체 간의 연결성을 설명 및 분석함으로써 그 가치를 창출하는 데 중요한 도구로 자리잡았으며, 동적 환경 모델링, 비즈니스 솔루션, 사기 탐지, 전염병 예측, 추천 개인화, 학술 연구 등 다양한 분야에 응용될 수 있습니다. * 소셜 네트워크, 온라인 플랫폼, 센서 기반 시스템의 규모, 정보 내용, 복잡성이 기하급수적으로 증가함에 따라 분석의 새로운 영역이 주목받게 되었는데, 바로 _대규모 그래프 분석_ 입니다. 사용 가능한 데이터가 빠르게 확장되면서 새로운 과제가 생겨났는데, 바로 이런 상황에서 관계형 처리, 패턴 매칭, 그래프 알고리즘을 결합한 통합 시스템 GraphFrames가 좋은 아키텍처로써 고려될 수 있습니다. * 이번 주 오마카세는 "GraphFrames : 빅데이터 및 AI 애플리케이션을 위한 GraphX의 아키텍처 진화" 라는 제목의 내용으로 전달해드리고자 합니다. 아래에 공유드리는 관련 유튜브 영상을 통해서도 다음 프레임워크에 대한 세부적인 내용을 이해할 수 있습니다. * * * ## GraphFrames의 작동 방식 * GraphFrames는 분산 컴퓨팅에서 대규모 데이터 처리를 위한 가장 강력한 엔진으로 잘 알려진 Apache Spark의 클러스터 기반 그래프 처리를 위한 기본 라이브러리인 GraphX의 문제점을 보완한 프레임워크를 제공합니다. * GraphX는 RDD (Resilient Distributed Datasets)의 강력한 기능과 효율적인 그래프 구축을 위해 특별히 설계된 특화 API를 결합하여 개발 시간, 표현 복잡성, 셔플 연산을 줄입니다. 이러한 통합을 통해 Spark의 기능을 활용하여 데이터 테이블에서 그래프 구조로, 또는 그 반대로 쉽게 전환할 수 있습니다. * 하지만 GraphX는 몇 가지 한계를 가지고 있습니다. Scala만 지원하고, RDD 인터페이스만 제공하며, Spark SQL/DataFrame 엔진의 최신 최적화 기능을 활용하지 못합니다. 반면 GraphFrames는 Python, Scala, R 등의 언어에서 접근할 수 있는 DataFrame 기반 API를 제공하는 라이브러리로 폭넓은 ​​호환성을 보장합니다. Graphframes API 개요 (credit : Alessio Sanna) * GraphFrames가 제공하는 API는 Spark의 강력한 쿼리 최적화 프레임워크와 효율적인 메모리 관리를 위한 실행 엔진을 통해 전체 연산 시퀀스를 자동으로 최적화하고, DataFrame(_SQL 테이블과 유사한 분산 데이터 구조_) 기반 인터페이스를 통해 관계형 쿼리와 그래프 분석 및 알고리즘을 자연스럽게 통합하도록 설계되었습니다. * GraphFrames는 graph-aware join optimization(_데이터 구조의 특징을 명시적으로 고려하여 최적의 경로를 찾는 기술_) 및 view selection 알고리즘(_대용량 데이터베이스 시스템에서 쿼리 성능을 최적화하는 기술_) 전략을 통해 전체적으로 최적화된 계산을 제공합니다. * GraphFrames에 구현된 일부 알고리즘은 Pregel이라는 정점 중심 계산 모델을 활용합니다. 이는 확장 가능하고 분산된 방식으로 대규모 그래프에 대한 반복 처리를 처리하도록 설계되었습니다. * 전통적으로 그래프 분석에는 그래프 데이터를 로드하고 준비하는 전처리 툴과, Pagerank, 최단 경로, 노드 차수 계산과 같은 알고리즘을 실행하는 엔진, 그리고 패턴 매칭, 모티프 발견, 서브그래프 추출과 같은 쿼리 기반 연산을 위한 데이터베이스 등 서로 다른 전문화된 시스템이 필요했습니다. 그러나 실제 애플리케이션에서는 이러한 작업이 중복되는 경우가 많아 모든 작업을 단일 통합 워크플로우로 통합해야 하는 필요성이 언급되어져 왔습니다. * 이러한 관점에서 GraphFrames는 빅데이터와 AI를 연결할 수 있는 워크플로의 필수 단계들을 단일 파이프라인으로 통합할 수 있도록 지원합니다. Spark를 이용한 데이터 로딩 및 변환(ETL) , GraphFrames를 이용한 DataFrames의 그래프 구성 , 그리고 MLlib을 통한 머신 러닝 알고리즘의 직접 적용이 가능합니다. * 이 파이프라인에서는 특징 추출 알고리즘과 그래프 분석 기법을 머신 러닝 단계 이전에 적용하여 입력 데이터를 보강할 수 있으며, 이후에는 모델링 과정의 결과를 분석하고 해석할 수 있습니다. 또한 단일 Spark 환경에서 관리되어 DataFrames의 확장성과 필요에 따라 사용자 정의 함수(UDF)를 통합할 수 있는 가능성을 활용합니다. * 이를 통해 데이터 엔지니어링과 머신 러닝 및 그래프 분석 및 모델링을 통한 유의미한 통찰이 가능해질 것이라 기대하며, 실제로 빅데이터 환경에서 대규모 그래프 분석을 수행하는 독자 엔지니어들에게 매우 중요한 소식이라고 생각합니다. 도움이 되셨기를 바랍니다. ## [Contact Info] Gmail: jhbae1184@akane.waseda.jp Twitter (X): @jhbae1184 LinkedIn
www.graphusergroup.com
November 2, 2025 at 6:13 AM
Large-Scale Graphs Community Detection using Spark GraphFrames
https://arxiv.org/abs/2408.03966
August 9, 2024 at 3:34 PM
How do performance gains in Comet compare to RAPIDS? Can’t decide between efficient CPU and GPU. Is there a comparison? Cost comparison for benchmark workloads would be awesome. Especially JOINs. I want to use Comet for GraphFrames motif searches.
March 19, 2025 at 9:23 PM