我目前正在上,2.1.0并希望转到最新(2.5.0目前).有命令这样做吗?或者我是否需要卸载当前版本并安装新版本?这是通过apt-get完成的吗?
无法在文档或互联网上的任何地方找到这个...
我尝试从鱼下载页面下载最新的.deb文件,但是试图在Ubuntu软件中心打开它会产生"Breaks existing package'fish'"
我已经使用以下方法独立/本地(在Windows上)安装了PySpark:
pip install pyspark
Run Code Online (Sandbox Code Playgroud)
我已经可以pyspark在命令行中运行或在Jupyter Notebooks中使用它了,并且它不需要正确的Spark安装(例如,我不必执行本教程中的大多数步骤,https://medium.com / @ GalarnykMichael / install-spark-on-windows-pyspark-4498a5d8d66c)。
我遇到的大多数教程都需要“在安装PySpark之前先安装Spark”。这与我的观点有关,即PySpark基本上是Spark的包装。但也许我在这里错了-有人可以解释一下吗:
sbin包含启动历史记录服务器脚本的文件夹)假设你有一个文件,让我们调用它udfs.py并在其中:
def nested_f(x):
return x + 1
def main_f(x):
return nested_f(x) + 1
Run Code Online (Sandbox Code Playgroud)
然后,您想从main_f函数中创建一个 UDF并在数据帧上运行它:
import pyspark.sql.functions as fn
import pandas as pd
pdf = pd.DataFrame([[1], [2], [3]], columns=['x'])
df = spark.createDataFrame(pdf)
_udf = fn.udf(main_f, 'int')
df.withColumn('x1', _udf(df['x'])).show()
Run Code Online (Sandbox Code Playgroud)
如果我们在定义两个函数的同一个文件中执行此操作,则可以正常工作 ( udfs.py)。但是,尝试从不同的文件(例如main.py)执行此操作会产生错误ModuleNotFoundError: No module named ...:
...
import udfs
_udf = fn.udf(udfs.main_f, 'int')
df.withColumn('x1', _udf(df['x'])).show()
Run Code Online (Sandbox Code Playgroud)
我注意到,如果我确实窝在nested_f里面的main_f是这样的:
def main_f(x):
def nested_f(x):
return x + 1 …Run Code Online (Sandbox Code Playgroud)