Summary
As the complexity of data grows, data can be better represented by a graph rather than a collection. Graph databases such as Neo4J or Titan, or graph-processing systems such as Apache Giraph or GraphX are used for graph analytics. Apache Giraph is based on Hadoop, which is stable and can be used for pure graph-related problems. GraphX is a graph processing system on top of Spark and can be used if the graph is part of the problem. GraphX integrates well with other components of Spark to unify ETL, exploratory analytics, and graph processing.
GraphX can be used for various operations such as creating graphs, counting, filtering, degrees, triplets, modifying, joining, transforming attributes, VertexRDD, and EdgeRDD operations. It also provides GraphX algorithms such as triangle counting, connected components, label propagation, PageRank, SVD++, and shortest paths.
GraphFrames is a DataFrame-based external Spark package that provides performance optimizations and also additional functionalities...