将 pandas 数据帧转换为 PySpark 数据帧

Convert a pandas dataframe to a PySpark dataframe

我有一个具有以下设置的脚本。

我正在使用:

1) 用于提取数据的 Spark 数据帧 2) 在初始聚合后转换为 pandas 数据帧 3) 想要转换回 Spark 以写入 HDFS

从 Spark 的转换 --> Pandas 很简单,但我正在努力解决如何将 Pandas 数据帧转换回 spark 的问题。

你能给点建议吗?

from pyspark.sql import SparkSession
import pyspark.sql.functions as sqlfunc
from pyspark.sql.types import *
import argparse, sys
from pyspark.sql import *
import pyspark.sql.functions as sqlfunc
import pandas as pd

def create_session(appname):
    spark_session = SparkSession\
        .builder\
        .appName(appname)\
        .master('yarn')\
        .config("hive.metastore.uris", "thrift://uds-far-mn1.dab.02.net:9083")\
        .enableHiveSupport()\
        .getOrCreate()
    return spark_session
### START MAIN ###
if __name__ == '__main__':
    spark_session = create_session('testing_files')

我试过以下 - 没有错误,只是没有数据!确认一下,df6 确实有数据并且是 pandas 数据框

df6 = df5.sort_values(['sdsf'], ascending=["true"])
sdf = spark_session.createDataFrame(df6)
sdf.show()

开始吧:

# Spark to Pandas
df_pd = df.toPandas()

# Pandas to Spark
df_sp = spark_session.createDataFrame(df_pd)