为了账号安全,请及时绑定邮箱和手机立即绑定

从 Pandas DataFrame 创建 Spark DataFrame

从 Pandas DataFrame 创建 Spark DataFrame

HUH函数 2021-11-09 15:15:36
我正在尝试从一个简单的 Pandas DataFrame 构建一个 Spark DataFrame。这是我遵循的步骤。import pandas as pdpandas_df = pd.DataFrame({"Letters":["X", "Y", "Z"]})spark_df = sqlContext.createDataFrame(pandas_df)spark_df.printSchema()到目前为止,一切正常。输出是:root|-- 字母:字符串(可为空 = 真)当我尝试打印 DataFrame 时出现问题:spark_df.show()这是结果:调用 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导出 PYSPARK_DRIVER_PYTHON_OPTS='lab'事实:正如错误所提到的,它与从 Jupyter 运行 pyspark 有关。使用 'PYSPARK_PYTHON=python2.7' 和 'PYSPARK_PYTHON=python3.6' 运行它可以正常工作
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

导入并初始化 findspark,创建一个 spark 会话,然后使用该对象将 pandas 数据帧转换为 spark 数据帧。然后将新的 spark 数据框添加到目录中。使用 python 3.6.6 在 Jupiter 5.7.2 和 Spyder 3.3.2 中测试并运行。


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)]



查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 247 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号