在Google Colab上创建partkContext会导致:`RuntimeError:Java网关进程在发送其端口号之前已退出。`

问题描述

以下是已成功安装的依赖项。

!apt-get install openjdk-8-jre
!apt-get install scala
!pip install py4j
!wget -q https://downloads.apache.org/spark/spark-2.4.8/spark-2.4.8-bin-hadoop2.7.tgz
!tar xf spark-2.4.8-bin-hadoop2.7.tgz
!pip install -q findspark

现在创建电光上下文:

# Setting up environment variables
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-2.4.8-bin-hadoop2.7"
# export PYSPARK_SUBMIT_ARGS ="--master local[2]"

# Importing and initating spark
import findspark
findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local[*]").appName("Test Setup").getOrCreate()
sc = spark.sparkContext

我收到此错误:

运行错误:Java网关进程在发送其端口之前退出 编号

请注意,这是CoLab笔记本。任何形式的帮助都是最好的。


解决方案

您可以安装Pyspark using PyPI作为备选方案:

对于Python用户,PySpark还提供从PyPI安装pip。这通常供本地使用或作为客户端连接到群集,而不是设置群集本身。

安装pyspark+OpenJDK
%pip install pyspark==2.4.8
!apt-get install openjdk-8-jdk-headless -qq > /dev/null
创建电光会话
from pyspark.sql import SparkSession

spark = SparkSession.builder
        .master("local[*]")
        .appName("Test Setup")
        .getOrCreate()

在Google Colab笔记本中测试:

相关文章