0

我正在尝试运行以下代码以在我本地设置的 pyspark 中创建图框。但我收到错误。我正在使用 spark-2.4.0-bin-hadoop2.7 版本。

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
#spark = SparkSession.builder.appName('fun').getOrCreate()
vertices = spark.createDataFrame([('1', 'Carter', 'Derrick', 50), 
                                  ('2', 'May', 'Derrick', 26),
                                 ('3', 'Mills', 'Jeff', 80),
                                  ('4', 'Hood', 'Robert', 65),
                                  ('5', 'Banks', 'Mike', 93),
                                 ('98', 'Berg', 'Tim', 28),
                                 ('99', 'Page', 'Allan', 16)],
                                 ['id', 'name', 'firstname', 'age'])
edges = spark.createDataFrame([('1', '2', 'friend'), 
                               ('2', '1', 'friend'),
                              ('3', '1', 'friend'),
                              ('1', '3', 'friend'),
                               ('2', '3', 'follows'),
                               ('3', '4', 'friend'),
                               ('4', '3', 'friend'),
                               ('5', '3', 'friend'),
                               ('3', '5', 'friend'),
                               ('4', '5', 'follows'),
                              ('98', '99', 'friend'),
                              ('99', '98', 'friend')],
                              ['src', 'dst', 'type'])
g = GraphFrame(vertices, edges)

我收到以下错误。

在此处输入图像描述

4

2 回答 2

1

以下似乎对我有用。

  1. 从https://spark-packages.org/package/graphframes/graphframes下载.jar文件
  2. 由于我pyspark在 Anaconda 上运行,因此我将文件与其他文件一起添加.jar到该路径。/anaconda3/lib/python3.7/site-packages/pyspark/jars/.jar
  3. 然后,以下脚本似乎可以工作。
# Ref: https://stackoverflow.com/a/50404308/9331359
from pyspark import SparkContext
context = SparkContext()
context.addPyFile('/anaconda3/lib/python3.7/site-packages/pyspark/jars/graphframes-0.7.0-spark2.4-s_2.11.jar')
context


# Ref: https://stackoverflow.com/a/55430066/9331359
from pyspark.sql.session import SparkSession
spark = SparkSession(context)

from pyspark.sql.types import *
from graphframes import *
于 2019-08-11T01:01:03.337 回答
0

您可以通过执行以下步骤来解决错误:

1)根据您使用的 spark 版本从下面下载 graphframes jar(例如 0.7.0-spark2.4-s_2.11,因为您使用的是 spark 2.4 版本)

https://spark-packages.org/package/graphframes/graphframes

2) 将下载的 graphframes jar 添加到您的 spark jar 例如 $SPARK_HOME/jars

3) 首次使用参数启动 pyspark,以便下载所有 graphframe 的 jar 依赖项:

例如在 Windows 机器中,您可以使用命令提示符启动

$SPARK_HOME/bin/pyspark --packages graphframes:graphframes:0.7.0-spark2.4-s_2.11

4) 在从 graphframes import 运行图形命令之前发出以下命令 *

以上步骤将解决您的问题

于 2019-01-12T09:20:29.737 回答