NameError: имя "искра" не определено, как решить? - PullRequest
0 голосов
/ 09 мая 2020

Я только что установил pyspark2.4.5 на свой ноутбук ubuntu18.04, и когда я запускаю следующие коды,

#this is a part of the code. 
import pubmed_parser as pp
from pyspark.sql import SparkSession
from pyspark.sql import Row

medline_files_rdd = spark.sparkContext.parallelize(glob('/mnt/hgfs/ShareDir/data/*.gz'), numSlices=1000)
parse_results_rdd = medline_files_rdd.\
    flatMap(lambda x: [Row(file_name=os.path.basename(x), **publication_dict)
                       for publication_dict in pp.parse_medline_xml(x)])

medline_df = parse_results_rdd.toDF()
# save to parquet
medline_df.write.parquet('raw_medline.parquet', mode='overwrite')


medline_df = spark.read.parquet('raw_medline.parquet')

я получаю такую ​​ошибку,

medline_files_rdd = spark.sparkContext.parallelize(glob('/mnt/hgfs/ShareDir/data/*.gz'), numSlices=1000)
NameError: name 'spark' is not defined

Я видел похожие вопросы по StackOverflow, но все они не могут решить мою проблему. Кто-нибудь может мне помочь? Большое спасибо.

Кстати, я новичок в Spark, если я просто хочу использовать Spark в Python, достаточно ли просто установить pyspark, используя pip install pyspark? какие-то другие мне делать? Стоит ли устанавливать Had oop или другие?

1 Ответ

1 голос
/ 09 мая 2020

Просто создайте искровую сессию в стартовом

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('abc').getOrCreate()
...