python graphx_如何使用Python/pyspark运行graphx?

您应该看看GraphFrames(https://github.com/graphframes/graphframes),它在DataFrames API下包装GraphX算法,并提供Python接口。

首先在graphframes包加载的情况下启动pyspark

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()