我正在尝试从一个简单的 Pandas DataFrame 构建一个 Spark DataFrame。这是我遵循的步骤。
import pandas as pd
pandas_df = pd.DataFrame({"Letters":["X", "Y", "Z"]})
spark_df = sqlContext.createDataFrame(pandas_df)
spark_df.printSchema()
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切正常。输出是:
root
|-- 字母:字符串(可为空 = 真)
当我尝试打印 DataFrame 时出现问题:
spark_df.show()
Run Code Online (Sandbox Code Playgroud)
这是结果:
调用 o158.collectToPython 时出错。:org.apache.spark.SparkException:由于阶段失败而中止作业:阶段 5.0 中的任务 0 失败 1 次,最近失败:阶段 5.0 中丢失任务 0.0(TID 5、本地主机、执行程序驱动程序):org.apache.spark .SparkException:
Error from python worker:
Error execution Jupyter command 'pyspark.daemon': [Errno 2] 没有这样的文件或目录 PYTHONPATH 是:
/home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/python/lib/pyspark.zip:/home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/python/lib/ py4j-0.10.7-src.zip:/home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/jars/spark-core_2.11-2.4.0.jar:/home/roldanx/soft/ spark-2.4.0-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip:/home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/python/: org. apache.spark.SparkException:pyspark.daemon 的标准输出中没有端口号
这些是我的 Spark 规格:
SparkSession - 蜂巢
火花上下文
星火用户界面
版本:v2.4.0
大师:本地[*]
应用名称:PySparkShell
这是我的 venv:
导出 PYSPARK_PYTHON=jupyter
导出 …
我一直在研究文件、块和对象存储之间的区别。我试图将本机 Linux 文件系统与这些类型的存储数据之一联系起来,但是,我想到的一些疑问证明我在这里有某种误解:
直观上,ext4 看起来像文件存储类型,因为它被定义为“文件系统”。此外,根(“/”)架构组织在文件夹和文件中,与文件存储定义相同。
另一方面,ext4使用inode将文件分成块以获得更好的存储性能。这是块存储功能。此外,根据此 IBM 视频,块存储是唯一能够启动操作系统的存储类型:https://www.youtube.com/watch?v =PmxWTTpXNLI(分钟 7:52)。
这是否意味着 Linux 内核需要块存储来启动,但随后它会将自身安装为文件存储?