Please see this email trail: no answer so far on the user@spark board. Trying the developer board for better luck
I am a bit confused by the current roadmap for graph and graph analytics in Apache Spark.
I understand that we have had for some time two libraries (the following is my understanding - please amend as appropriate!):
. GraphX, part of Spark project. This library is based on RDD and it is only accessible via Scala. It doesn’t look that this library has been enhanced recently.
. GraphFrames, independent (at the moment?) library for Spark. This library is based on Spark DataFrames and accessible by Scala & Python. Last commit on GitHub was 2 months ago.
GraphFrames cam about with the promise at some point to be integrated in Apache Spark.
I can see other projects coming up with interesting libraries and ideas (e.g. Graphulo on Accumulo, a new project with the goal of implementing the GraphBlas building blocks for graph algorithms on top of Accumulo).
Where is Apache Spark going?
Where are graph libraries in the roadmap?
Thanks for any clarity brought to this matter.
Your question is answered here under "Will GraphFrames be part of Apache Spark?", no?
Thanks for the quick answer :)
Sadly, the comment in the page doesn’t answer my questions. More specifically:
1. GraphFrames last activity in github was 2 months ago. Last release on 12 Nov 2016. Till recently 2 month was close to a Spark release cycle. Why there has been no major development since mid November?
2. The page you linked refers to a *plan* to move GraphFrames to the standard Spark release cycle. Is this *plan* publicly available / visible?
3. I couldn’t find any statement of intent to preserve either one or the other APIs, or just merge them: in other words, there seem to be no overarching plan for a cohesive & comprehensive graph API (I apologise in advance if I’m wrong).
4. I was initially impressed by GraphFrames syntax in places similar to Neo4J Cypher (now open source), but later I understood was an incomplete lightweight experiment (with no intention to move to full compatibility, perhaps for good reasons). To me it sort of gave the wrong message.
5. In the mean time the world of graphs is changing. GraphBlas forum seems to make some traction: a library based on GraphBlas has been made available on Accumulo (Graphulo). Assuming that Spark is NOT going to adopt similar lines, nor to follow Datastax with tinkertop and Gremlin, again, what is the new, cohesive & comprehensive API that Spark is going to deliver?
Sadly, the API uncertainty may force developers to more stable kind of API / platforms & roadmaps.
Since GraphFrames is not part of the Spark project, your GraphFrames-specific questions are probably better directed at the GraphFrames issue tracker:
As far as I know, GraphFrames is an active project, though not as active as Spark of course. There will be lulls in development since the people driving that project forward also have major commitments to other projects. This is natural.
If you post on GitHub I would wager somewhere there (maybe Joseph or Tim?) should be able to answer your questions about GraphFrames.
I didn’t see any such reference to a plan in the page I linked you to. Rather, the page says:
since this question is also relevant to Spark, I will answer it here. The goal of GraphFrames is to provide graph capabilities along with excellent integration to the rest of the Spark ecosystem (using modern APIs such as DataFrames). As you seem to be well aware, a large number of graph algorithms can be implemented in terms of a small subset of graph primitives. These graph primitives can be translated to Spark operations, but we feel that some important low-level optimizations should be added to the Catalyst engine in order to realize the true potential of GraphFrames. You can find a flavor of this work in this presentation of Ankur Dave . This is still an area of collaboration with the Spark core team, and we would like to merge GraphFrames in Spark 2.x eventually.
Where does it leave us for the time being? GraphFrames is actively supported, and we implemented a highly scalable version of GraphFrames in November. As you mentioned, there are a number of distributed Graph frameworks out there, but to my knowledge they are not as easy to integrate with Spark. The current approach has been to reach parity with GraphX first and then add new algorithms based on popular demand. Along these lines, GraphBLAS could be added on top of it if someone is willing to step up.
On Mon, Mar 13, 2017 at 2:58 PM, Nicholas Chammas <[hidden email]> wrote:
GraphFrame is just a Graph Analytics/Query Engine, not a Graph Engine which GraphX used to be.
And I'm sorry to say, it doesn’t fit most scenarioes at all in fact.
Enzo, I don’t think there is any roadmap of Graph libraries for Spark for now.
On Tue, Mar 14, 2017 at 7:28 AM, Tim Hunter <[hidden email]> wrote:
I'll try to answer some questions which I do not see answered above.
> GraphFrame is just a Graph Analytics/Query Engine, not a Graph Engine which GraphX used to be.
GraphFrames supports all of the algorithms which GraphX supports. We've also taken first steps towards providing primitives for people to implement their own. The main blocker here is what Tim mentioned above: some improvements in SQL/Catalyst will be needed in order to make it even easier to write scalable implementations of iterative algorithms for graphs. I'd recommend checking out Ankur's talk which Tim linked; it more overview of the library's capabilities.
> future for GraphFrames
Same as Tim: It's still active, though of course less so than Spark. (Thanks Felix and others for many PRs.) Some further improvements are needed to make a 1.x release, such as the improvements Tim mentioned + figuring out our take on DataFrames vs Datasets for graphs.
If people have specific feedback on GraphFrames, it'd be great to hear it on the Github issues there.
More generally, I do hope GraphFrames is a vision for the future of graph analytics on Spark. And once there have been sufficient improvements + community discussion, we'd like to propose merging GraphFrames into Spark itself. That will take time, but more community feedback would be great to accelerate the process.
On Tue, Mar 14, 2017 at 12:45 AM, Andy <[hidden email]> wrote:
|Free forum by Nabble||Edit this page|