我正在尝试从一个简单的Pandas DataFrame构建一个火花DataFrame。这是我遵循的步骤。
import pandas as pd
pandas_df = pd.DataFrame({"Letters":["X", "Y", "Z"]})
spark_df = sqlContext.createDataFrame(pandas_df)
spark_df.printSchema()直到这一点,一切都好。产出如下:
根部 -字符串(nullable = true)
当我试图打印DataFrame时,问题就来了:
spark_df.show()其结果是:
调用o158.collectToPython时出错。::org.apache.spark.SparkException:由于阶段失败而中止作业:阶段5.0中的任务0失败1次,最近的失败:阶段5.0中丢失的任务0.0 (TID 5,本地主机,执行器驱动程序):org.apache.spark.SparkException: python工作者的错误: 执行木星命令‘pyspek.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: pyspack.daemon的stdout中没有端口号
--这是我的火花规格:
SparkSession -蜂巢
SparkContext
火花用户界面
版本: v2.4.0
师父:本地*
AppName: PySparkShell
,这是我的静脉:
导出PYSPARK_PYTHON=jupyter
导出PYSPARK_DRIVER_PYTHON_OPTS='lab‘
事实:
正如错误所提到的,这与运行木星的火星雨有关。使用“PYSPARK_PYTHON=python2.7”和“PYSPARK_PYTHON=python3.6”运行它很好
发布于 2019-02-15 13:00:25
导入并初始化findspark,创建星火会话,然后使用该对象将熊猫数据框架转换为星火数据框架。然后将新的火花数据框架添加到目录中。测试并运行在木星5.7.2和Spyder 3.3.2与python 3.6.6。
import findspark
findspark.init()
import pyspark
from pyspark.sql import SparkSession
import pandas as pd
# Create a spark session
spark = SparkSession.builder.getOrCreate()
# Create pandas data frame and convert it to a spark data frame
pandas_df = pd.DataFrame({"Letters":["X", "Y", "Z"]})
spark_df = spark.createDataFrame(pandas_df)
# Add the spark data frame to the catalog
spark_df.createOrReplaceTempView('spark_df')
spark_df.show()
+-------+
|Letters|
+-------+
| X|
| Y|
| Z|
+-------+
spark.catalog.listTables()
Out[18]: [Table(name='spark_df', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]https://stackoverflow.com/questions/54698225
复制相似问题