Ответ 1
Похоже, привязки python к GraphX задерживаются, по крайней мере, до Spark 1.4 1.5 ∞. Он ждет Java API.
Вы можете отслеживать статус в SPARK-3789 GRAPHX Python привязки для GraphX - ASF JIRA
Я пытаюсь запустить Spark graphx с Python с помощью pyspark. Моя установка выглядит правильно, так как я умею запускать учебники pyspark и обучающие программы (Java) GraphX. Предположительно, поскольку GraphX является частью Spark, pyspark должен иметь возможность взаимодействовать с ним, правильно?
Ниже приведены учебные пособия для pyspark: http://spark.apache.org/docs/0.9.0/quick-start.html http://spark.apache.org/docs/0.9.0/python-programming-guide. HTML
Вот для GraphX: http://spark.apache.org/docs/0.9.0/graphx-programming-guide.html http://ampcamp.berkeley.edu/big-data-mini-course/graph- аналитика-с-graphx.html
Может ли кто-нибудь преобразовать учебник GraphX в Python?
Похоже, привязки python к GraphX задерживаются, по крайней мере, до Spark 1.4 1.5 ∞. Он ждет Java API.
Вы можете отслеживать статус в SPARK-3789 GRAPHX Python привязки для GraphX - ASF JIRA
Вы должны взглянуть на GraphFrames (https://github.com/graphframes/graphframes), который включает алгоритмы GraphX в API DataFrames и предоставляет интерфейс Python.
Вот быстрый пример из https://graphframes.github.io/graphframes/docs/_site/quick-start.html, с небольшими изменениями, чтобы он работал
первый запуск pyspark с загруженными pkg графическими фреймами
pyspark --packages graphframes:graphframes:0.1.0-spark1.6
код Python:
from graphframes import *
# Create a Vertex DataFrame with unique ID column "id"
v = sqlContext.createDataFrame([
("a", "Alice", 34),
("b", "Bob", 36),
("c", "Charlie", 30),
], ["id", "name", "age"])
# Create an Edge DataFrame with "src" and "dst" columns
e = sqlContext.createDataFrame([
("a", "b", "friend"),
("b", "c", "follow"),
("c", "b", "follow"),
], ["src", "dst", "relationship"])
# Create a GraphFrame
g = GraphFrame(v, e)
# Query: Get in-degree of each vertex.
g.inDegrees.show()
# Query: Count the number of "follow" connections in the graph.
g.edges.filter("relationship = 'follow'").count()
# Run PageRank algorithm, and show results.
results = g.pageRank(resetProbability=0.01, maxIter=20)
results.vertices.select("id", "pagerank").show()
GraphX 0.9.0 еще не имеет API-интерфейса python. Это ожидалось в предстоящих выпусках.