嗨,我正在尝试使用以下代码在谷歌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
注意:我能够运行此代码直到今天下午,突然此错误在晚上开始出现
请检查 wget 是否正常工作。如果没有,请将最新版本的apache-spark上传到谷歌云端硬盘,并将其解压缩到谷歌合作实验室,然后添加给定的路径。您的代码不起作用,因为它找不到 spark 文件夹。WGET 不工作
Google collab 预装了 java。所以如果你只是跑
!pip install pyspark
然后使用spark它工作..不需要findspark或其他不必要的库。
以下是我始终开始的步骤: 第一个删除不必要的 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
!pip install pyspark
单元格 2
spark = SparkSession.builder
.master("local")
.appName("Colab")
.getOrCreate()
df = spark.read.option("header",True).format("csv").load(url)
df.show()