gpt4 book ai didi

python - 在 Google Colab 中使用 pyspark

转载 作者:行者123 更新时间:2023-12-03 14:22:11 40 4
gpt4 key购买 nike

这是我在使用大量 StackOverflow 后的第一个问题,所以如果我提供不准确或不完整的信息,请纠正我
直到本周,我才按照我在互联网上找到的众多指南之一设置了一个 colab 笔记本,可以与 pyspark 一起运行,但本周它开始出现一些不同的错误。
使用的代码几乎是这样的:

!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q https://downloads.apache.org/spark/spark-3.0.0-preview2/spark-3.0.0-preview2-bin-hadoop2.7.tgz
!tar -xvf spark-3.0.0-preview2-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-3.0.0-preview2-bin-hadoop2.7"
import findspark
findspark.init()
我尝试将 Java 版本从 8 更改为 11 并使用 https://downloads.apache.org/spark/ 上所有可用的 Spark 版本并相应地更改 HOME 路径。我用过 pip freeze正如在检查 colab 中使用的 Spark 版本的一份指南中看到的那样,它说 pyspark 3.0.0 所以我尝试了 3.0.0 版上的所有版本,但我一直得到的是错误:
Exception: Unable to find py4j, your SPARK_HOME may not be configured correctly
我不太了解为此使用 Java 的必要性,但我也尝试安装 pyj4 !pip install py4j它说它在我安装时已经安装,我尝试了互联网上的所有不同指南,但我无法再运行我的 Spark 代码。有谁知道如何解决这一问题?
我只将 colab 用于大学用途,因为我的电脑已经过时了,我对此知之甚少,但我确实需要让这款笔记本可靠地运行,所以我怎么知道是时候更新导入的版本了?

最佳答案

关注 this colab notebook这对我有用:
第一个单元格:

!pip install pyspark
!pip install -U -q PyDrive
!apt install openjdk-8-jdk-headless -qq
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
并且几乎安装了 pyspark .
但是请按照以下步骤启动 Spark UI,这对于理解物理计划、存储使用等非常有帮助。另外:它有漂亮的图表;)
第二个单元格:
from pyspark import SparkSession
from pyspark import SparkContext, SparkConf



# create the session
conf = SparkConf().set("spark.ui.port", "4050")

# create the context
sc = pyspark.SparkContext(conf=conf)
spark = SparkSession.builder.getOrCreate()
第三个单元格:
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip
get_ipython().system_raw('./ngrok http 4050 &')
!sleep 10
!curl -s http://localhost:4040/api/tunnels | python3 -c \
"import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"
之后,您将看到一个 URL,您可以在其中找到 Spark UI;我的示例输出是:
--2020-10-03 11:30:58--  https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
Resolving bin.equinox.io (bin.equinox.io)... 52.203.78.32, 52.73.16.193, 34.205.238.171, ...
Connecting to bin.equinox.io (bin.equinox.io)|52.203.78.32|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13773305 (13M) [application/octet-stream]
Saving to: ‘ngrok-stable-linux-amd64.zip.1’

ngrok-stable-linux- 100%[===================>] 13.13M 13.9MB/s in 0.9s

2020-10-03 11:31:00 (13.9 MB/s) - ‘ngrok-stable-linux-amd64.zip.1’ saved [13773305/13773305]

Archive: ngrok-stable-linux-amd64.zip
replace ngrok? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: ngrok
http://989c77d52223.ngrok.io
还有最后一个元素, http://989c77d52223.ngrok.io ,是我的 Spark UI 所在的地方。

关于python - 在 Google Colab 中使用 pyspark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63323344/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com