无法在Google Colab中运行Pyspark

时间:2020-06-04 15:52:13

标签: python apache-spark pyspark jupyter-notebook google-colaboratory

嗨,我正在尝试使用以下代码在google colab上运行pyspark:

!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q http://apache.osuosl.org/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz
!tar xf spark-2.4.5-bin-hadoop2.7.tgz
!pip install -q findspark
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-2.4.5-bin-hadoop2.7"
import findspark
findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local[*]").getOrCreate()

我遇到以下错误:

/content/spark-2.4.5-bin-hadoop2.7/python/pyspark/java_gateway.py in _launch_gateway(conf, insecure)
    106 
    107             if not os.path.isfile(conn_info_file):
--> 108                 raise Exception("Java gateway process exited before sending its port number")
    109 
    110             with open(conn_info_file, "rb") as info:

Exception: Java gateway process exited before sending its port number

注意:我可以将这段代码运行到今天下午,突然这个错误在晚上开始出现

3 个答案:

答案 0 :(得分:1)

以下是我一开始的步骤: 1st 删除不必要的 ubuntu 错误或 Java 端口错误

!sudo add-apt-repository --remove ppa:vikoadi/ppa
!sudo apt update

重新开始的第二个代码

!pip install pyspark

来自网站的第三个代码新鲜的java和最新的spark表(如果显示错误,您可以更改链接并选择您喜欢的任何内容)

!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q https://www-us.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz
!tar xf spark-3.1.1-bin-hadoop3.2.tgz
!pip install -q findspark

第 4 段代码创建会话或配置您需要的大小或内存,例如 4G

from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local[*]").getOrCreate()
spark=SparkSession.builder.appName('sol').getOrCreate()
spark.conf.set("spark.driver.memory","4g")

用于检查我的任何数据的会话的第 5 个代码

from google.colab import files
files.upload() #to upload the testing file for example mydata.csv 
dataset = spark.read.csv('mydata.csv',inferSchema=True, header =True)
dataset.printSchema()

那我希望一切都好。如果无效,请发表评论

答案 1 :(得分:0)

Google collab已预先安装了Java。因此,如果您只是运行

!pip install pyspark

然后使用spark即可。.不需要findspark或其他不必要的库。

答案 2 :(得分:0)

请检查wget是否正常工作。如果没有,则将最新版本的apache-spark上传到Google驱动器,然后将其解压缩到Google合作伙伴,然后添加给定的路径。您的代码无法正常工作,因为它无法找到spark文件夹。 wget无法正常工作