Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Jupyter笔记本中正确设置SparkContext的配置?_Python_Apache Spark_Pyspark_Jupyter Notebook - Fatal编程技术网

Python 如何在Jupyter笔记本中正确设置SparkContext的配置?

Python 如何在Jupyter笔记本中正确设置SparkContext的配置?,python,apache-spark,pyspark,jupyter-notebook,Python,Apache Spark,Pyspark,Jupyter Notebook,我是spark的新手,我尝试配置SparkContext,但不幸的是我收到了错误消息 我写了这段代码: from pyspark import SparkConf,SparkContext from pyspark.streaming import StreamingContext from pyspark.sql import Row,SQLContext import sys import requests # create spark configuration conf = Spar

我是spark的新手,我尝试配置SparkContext,但不幸的是我收到了错误消息

我写了这段代码:

from pyspark import SparkConf,SparkContext
from pyspark.streaming import StreamingContext
from pyspark.sql import Row,SQLContext
import sys
import requests

# create spark configuration

conf = SparkConf()
conf.setAppName("TwitterStreamApp")  

# create spark context with the above configuration
sc = SparkContext(conf=conf)
我得到了这个错误:

Py4JError                                 Traceback (most recent call last)
<ipython-input-97-b0f526d72e5a> in <module>
      1 # create spark context with the above configuration
----> 2 sc = SparkContext(conf=conf)

~\anaconda3\lib\site-packages\pyspark\context.py in __init__(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer, conf, gateway, jsc, profiler_cls)
    133             # If an error occurs, clean up in order to allow future SparkContext creation:
    134             self.stop()
--> 135             raise
    136 
    137     def _do_init(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer,

~\anaconda3\lib\site-packages\pyspark\context.py in _do_init(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer, conf, jsc, profiler_cls)
    211         self.pythonVer = "%d.%d" % sys.version_info[:2]
    212 
--> 213         if sys.version_info < (3, 6):
    214             with warnings.catch_warnings():
    215                 warnings.simplefilter("once")

~\anaconda3\lib\site-packages\py4j\java_gateway.py in __getattr__(self, name)
   1528                     answer, self._gateway_client, self._fqn, name)
   1529         else:
-> 1530             raise Py4JError(
   1531                 "{0}.{1} does not exist in the JVM".format(self._fqn, name))
   1532 

Py4JError: org.apache.spark.api.python.PythonUtils.isEncryptionEnabled does not exist in the JVM
Py4JError回溯(最近一次调用)
在里面
1#使用上述配置创建spark上下文
---->2 sc=SparkContext(conf=conf)
~\anaconda3\lib\site packages\pyspark\context.py在uuuu init_uuuuu中(self、master、appName、sparkHome、pyFiles、environment、batchSize、serializer、conf、gateway、jsc、profiler\u cls)
133#如果发生错误,请清理以允许将来创建SparkContext:
134.自我停止
-->135提高
136
137 def_do_init(self、master、appName、sparkHome、pyFiles、environment、batchSize、serializer、,
_do_init中的~\anaconda3\lib\site packages\pyspark\context.py(self、master、appName、sparkHome、pyFiles、environment、batchSize、serializer、conf、jsc、profiler\u cls)
211 self.pythonVer=“%d.%d”%sys.version\u info[:2]
212
-->213如果系统版本信息<(3,6):
214带有警告。捕获警告()
215警告。simplefilter(“一次”)
~\anaconda3\lib\site packages\py4j\java\u gateway.py in\uuuuu getattr\uuuuu(self,name)
1528回答,自我。\网关\客户端,自我。\ fqn,名称)
1529其他:
->1530升起Py4JError(
1531“{0}.{1}在JVM中不存在”。格式(self.\u fqn,name))
1532
Py4JError:org.apache.spark.api.PythonUtils.isEncryptionEnabled在JVM中不存在

另外,在SystemEnv中,我添加了JAVA_HOME、SPARK_HOME。。但它不起作用。

我认为,按照您的设置方式,您最终会同时运行多个SparkContext

请尝试以下简单设置:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('TwitterStreamApp').getOrCreate()
如果您不是流式传输,则假设您正在读取带有标题的csv文件

staticDF = spark.read.csv('source/file/path/here', header = True, inferSchema = True)
如果您是流媒体,请再次说出csv格式

streamingDF = spark.readStream \
   .schema(provide schema here)
   .option('....') // whatever your options are
   .csv('source/file/path/here') 

您可能想要习惯在读取数据时提供或构建模式的想法,这比spark尝试推断数据时有助于提高处理速度。

我认为您的设置方式最终会同时运行多个SparkContext

请尝试以下简单设置:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('TwitterStreamApp').getOrCreate()
如果您不是流式传输,则假设您正在读取带有标题的csv文件

staticDF = spark.read.csv('source/file/path/here', header = True, inferSchema = True)
如果您是流媒体,请再次说出csv格式

streamingDF = spark.readStream \
   .schema(provide schema here)
   .option('....') // whatever your options are
   .csv('source/file/path/here') 

您可能想习惯在读取数据时提供或构建模式的想法,这比spark推断数据时有助于提高处理速度。

您的代码在Jupyter笔记本上运行良好。你能分享一些关于Spark/Python安装和版本号的信息吗?Spark版本是:2.4.7。Python版本是:3.9.Spark版本是2.4.7。Python版本是3.9。同样在系统变量中,我设置了:HADOOP\u HOME、JAVA\u HOME、SPARK\u HOME、SPARK\u LOCAL\u IP(我试图解决这个问题),但它不起作用。。我收到了同样的错误信息。这就是我安装并添加的全部内容。Spark安装可能是第一次让人望而生畏,因此如果您只需要使用Python安装Spark,那么我建议使用
pip
conda
安装PySpark。这可能会有帮助。你的代码在我的Jupyter笔记本上运行得很好。你能分享一些关于Spark/Python安装和版本号的信息吗?Spark版本是:2.4.7。Python版本是:3.9.Spark版本是2.4.7。Python版本是3.9。同样在系统变量中,我设置了:HADOOP\u HOME、JAVA\u HOME、SPARK\u HOME、SPARK\u LOCAL\u IP(我试图解决这个问题),但它不起作用。。我收到了同样的错误信息。这就是我安装并添加的全部内容。Spark安装可能是第一次让人望而生畏,因此如果您只需要使用Python安装Spark,那么我建议使用
pip
conda
安装PySpark。这可能会有帮助。