设置PYSPARK_SUBMIT_ARGS会导致创建SparkContext失败

时间:2018-04-09 22:24:19

标签: apache-spark pyspark environment-variables

我的问题有点背景故事:我一直在研究一个火花项目,并且最近将我的操作系统切换到Debian 9.切换后,我重新安装了火花版private void GenerateButton_Click(object sender, EventArgs e) { // Use a named constant for constant strings used in several places const string data = "..\\data.txt"; if(!File.Exists(data)) { lblError.Text = "File Not Found"; } else { var parts = ParseFields(data).LastOrDefault(); if (parts != null) UpdateText(parts); } } 并开始出现以下错误正在运行2.2.0

pytest

在谷歌搜索一段时间后,看起来人们在两种情况下都看到了这种神秘的错误:1)尝试使用E Exception: Java gateway process exited before sending the driver its port number 时的火花; 2)设置环境变量java 9时。

看起来我在第二种情况下,因为我使用的是java 1.8。我写了一个最小的例子

PYSPARK_SUBMIT_ARGS

它失败并显示错误,但是当第四行被注释掉时,测试很好(我用from pyspark import SparkContext import os def test_whatever(): os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages graphframes:graphframes:0.5.0-spark2.1-s_2.11,com.databricks:spark-avro_2.11:3.2.0 pyspark-shell' sc = SparkContext.getOrCreate() 调用它)。 删除这个env变量 - 至少我认为不是 - 这个问题的解决方案,因为它提供了一些重要信息pytest file_name.py。我无法找到这方面的任何文件,而且完全丢失了。

我很感激有关此的任何提示

1 个答案:

答案 0 :(得分:0)

将其放在jupyter笔记本的顶部对我而言有效:

import os
os.environ['JAVA_HOME'] = '/usr/lib/jvm/java-8-openjdk-amd64/'