ЗАО пусто при создании искры DataFrame - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь выучить искру, поэтому не судите строго.У меня есть следующая проблема.Я могу запустить такие базовые примеры spark

import os
os.environ['PYSPARK_PYTHON'] = '/g/scb/patil/andrejev/python36/bin/python3'
import random
from pyspark import SparkConf, SparkContext
from pyspark.sql.types import *
from pyspark.sql import *
sc.stop()
conf = SparkConf().setAppName('').setMaster('spark://remotehost:7789').setSparkHome('/path/to/spark-2.3.0-bin-hadoop2.7/') 
sc = SparkContext(conf=conf) 

num_samples = 100
def inside(p):
    x, y = random.random(), random.random()
    return x*x + y*y < 1

count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi = 4 * count / num_samples
print(pi)

, но когда я создаю фрейм данных, у меня возникает ошибка, что _jsc равен NULL

eDF = sqlContext.createDataFrame([Row(a=1, intlist=[1,2,3], mapfield={"a": "b"})])  
/usr/local/spark/python/pyspark/traceback_utils.py in __enter__(self)
     70     def __enter__(self):
     71         if SCCallSiteSync._spark_stack_depth == 0:
---> 72             self._context._jsc.setCallSite(self._call_site)
     73         SCCa._spark_stack_depth += 1

Вот переменные environemnt, которые установлены налокальный компьютер

SPARK_HOME': '/usr/local/spark/    
PYSPARK_DRIVER_PYTHON: '/usr/bin/python3'
PYSPARK_DRIVER_PYTHON_OPTS: 'notebook'
PYSPARK_PYTHON: '/g/scb/patil/andrejev/python36/bin/python3'
PATH': '...:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/local/spark/bin'

и на удаленном компьютере

PYSPARK_PYTHON=/g/scb/patil/andrejev/python36/bin/python3
PYSPARK_DIRVER_PYTHON=/g/scb/patil/andrejev/python36/bin/python3

1 Ответ

0 голосов
/ 30 мая 2018

В итоге я выяснил, что у меня было два сеанса (один по умолчанию и один, который я создал), запущенный одновременно.Я закончил явно, используя мой сеанс для создания DataFrame.

sess = SparkSession(sc)
freq_signal = sess.createDataFrame([Row(a=1, intlist=[1,2,3], mapfield={"a": "b"})])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...