Ошибка при создании графического фрейма в pyspark - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь запустить приведенный ниже код для создания graphframe в 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)

Я получаю сообщение об ошибке ниже.

enter image description here

Ответы [ 2 ]

0 голосов
/ 11 августа 2019

Мне кажется, что следующее работает.

  1. Загрузите файл .jar с https://spark -packages.org / package / graphframes / graphframes
  2. Поскольку на Anaconda у меня работал pyspark, я добавил к этому пути файл .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 *
0 голосов
/ 12 января 2019

Вы можете устранить ошибку, выполнив следующие шаги:

1) загрузить банку графических фреймов снизу в зависимости от используемой вами версии spark (например, 0.7.0-spark2.4-s_2.11, поскольку вы используете версию spark 2.4)

https://spark -packages.org / пакет / graphframes / graphframes

2) добавьте скачанную графическую фрейму в вашу флягу например $ SPARK_HOME / банка

3) впервые запустить pyspark с аргументами, чтобы он загрузил все зависимости jar графического фрейма:

например. в Windows-машине вы можете запустить с помощью командной строки

$ SPARK_HOME / bin / pyspark - пакеты графических фреймов: графические фреймы: 0.7.0-spark2.4-s_2.11

4) перед запуском графических команд выполните команду ниже импорт графических фреймов *

Вышеуказанные действия помогут решить проблему

...