簡體   English   中英

從Pandas DataFrame創建Spark DataFrame

[英]Create Spark DataFrame from Pandas DataFrame

我正在嘗試從簡單的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()

直到這一點一切都OK。 輸出為:


|-字母:字符串(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 worker的錯誤:
執行Jupyter命令'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/:組織。 apache.spark.SparkException:pyspark.daemon的標准輸出中沒有端口號

這些是我的Spark規格:

SparkSession-蜂巢

SparkContext

Spark用戶界面

版本:v2.4.0

碩士:本地[*]

AppName:PySparkShell

這是我的venv:

導出PYSPARK_PYTHON = jupyter

導出PYSPARK_DRIVER_PYTHON_OPTS ='實驗室'

事實:

正如錯誤所提到的,這與從Jupyter運行pyspark有關。 使用'PYSPARK_PYTHON = python2.7'和'PYSPARK_PYTHON = python3.6'正常運行

導入並初始化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)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM