diff --git a/apache-spark/pom.xml b/apache-spark/pom.xml
index 3df81e5aee..6f62f568ff 100644
--- a/apache-spark/pom.xml
+++ b/apache-spark/pom.xml
@@ -40,6 +40,12 @@
${org.apache.spark.spark-mllib.version}
provided
+
+ org.apache.spark
+ spark-graphx_2.12
+ ${org.apache.spark.spark-mllib.version}
+ provided
+
org.apache.spark
spark-streaming-kafka-0-10_2.11
diff --git a/apache-spark/src/main/java/com/baeldung/graphx/GraphAlgorithms.java b/apache-spark/src/main/java/com/baeldung/graphx/GraphAlgorithms.java
new file mode 100644
index 0000000000..2c1474d0aa
--- /dev/null
+++ b/apache-spark/src/main/java/com/baeldung/graphx/GraphAlgorithms.java
@@ -0,0 +1,46 @@
+package com.baeldung.graphx;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.spark.api.java.function.VoidFunction;
+import org.apache.spark.graphx.Graph;
+import org.apache.spark.graphx.VertexRDD;
+import org.apache.spark.graphx.lib.PageRank;
+
+import scala.Tuple2;
+
+public class GraphAlgorithms {
+ public static Map USERS = new HashMap<>();
+
+ public static void main(String[] args) {
+ Logger.getLogger("org").setLevel(Level.OFF);
+
+ GraphLoader loader = new GraphLoader();
+ Graph graph = loader.mapUserRelationship();
+
+ Graph