[英]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.