Ошибка при создании графического фрейма в pyspark

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

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

введите описание изображения здесь


person Akash    schedule 12.01.2019    source источник


Ответы (2)



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

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

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

2) добавьте загруженную банку с графическими кадрами в свою искровую банку, например. $ SPARK_HOME / jars

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

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

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

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

Вышеуказанные шаги решат вашу проблему

person Kaa    schedule 12.01.2019
comment
Спасибо за ответ. Это ошибка, которую я получаю. Py4JJavaError: ошибка при вызове None.org.apache.spark.api.java.JavaSparkContext. : java.io.FileNotFoundException: Файл файла: / C: /Users/Akash%20Jain/.ivy2/jars/graphframes_graphframes-0.7.0-spark2.4-s_2.11.jar не существует в org.apache.hadoop. fs.RawLocalFileSystem.deprecatedGetFileStatus (RawLocalFileSystem.java:611) в org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal (RawLocalFileSystem.java:824) - person Akash; 12.01.2019
comment
любая помощь по этому поводу? Что может быть причиной. Почему он попадает в мою пользовательскую папку. ? - person Akash; 13.01.2019
comment
Не могли бы вы вставить свой новый код и шаги, которые вы выполнили для решения проблемы? - person Kaa; 17.01.2019
comment
мой код по-прежнему остается прежним ... просто я выполнил все эти шаги, как вы упомянули, а затем выполнил приведенный выше код. Он говорит, что банка не существует в этом месте ... - person Akash; 18.01.2019
comment
вы включили приведенное ниже заявление в свой код, поскольку я не вижу его в исходном коде? from graphframes import * Также вы правильно выполнили шаг № 3 упомянутых в шагах решения, пожалуйста? - person Kaa; 21.01.2019
comment
Я запускал импорт графических фреймов *. Я тоже подозреваю, что что-то не так с моим выполнением шага 3. Но не знаю, как отлаживать. Я не получал никаких ошибок при выполнении шага 3. Есть вопросы о том, как проверить, правильно ли это сделано или нет? Может быть, поможет скриншот после выполнения шага 3 .. - person Akash; 21.01.2019
comment
Какое значение вы использовали в $ SPARK_HOME на шаге 3? Это должно быть фактическое значение - person Kaa; 21.01.2019
comment
@Dhineshkumar Не совсем. - person Akash; 13.11.2019