无法在Google Colab中运行Pyspark

2024-05-16 01:21:42 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我正在尝试使用以下代码在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

注意:我今天下午才能运行这段代码,突然在晚上出现了这个错误


Tags: install代码importinfohomebinosenviron
3条回答

Google collab已经预装了java。所以如果你只是跑

!pip install pyspark

然后使用spark,它会起作用。。不需要findspark或其他不必要的库

请检查wget是否工作。如果没有,请将apache spark的最新版本上载到google drive,并将其解压缩到google collaboratory,然后添加给定的路径。您的代码无法工作,因为它无法找到spark文件夹。wget不工作

以下是我总是从以下步骤开始: 首先删除不必要的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

第四个代码创建会话或配置所需的大小或内存,例如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")

第五个代码,用于检查任何“我的数据”上的会话

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()

那我希望一切都好。如果不起作用,请留下评论

相关问题 更多 >