【问题标题】:Convert a pandas dataframe to a PySpark dataframe [duplicate]将 pandas 数据帧转换为 PySpark 数据帧 [重复]
【发布时间】:2021-11-16 01:04:56
【问题描述】:

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

我正在使用:

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

【问题讨论】:

  • 感谢 Pault - 不幸的是,该解决方案不起作用 - 我在底部添加了尝试和失败的代码。我不完全确定问题是什么
  • 你能分享你的答案吗?

标签: python-3.x pandas pyspark apache-spark-sql pyspark-sql


【解决方案1】:

我们开始吧:

# Spark to Pandas
df_pd = df.toPandas()

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

【讨论】:

  • 感谢您的回复。我已经编辑了帖子以显示尝试这个 - 它没有错误,但它没有提供任何输出
  • 对于那些想阅读更多的人来说,this Medium article 很有用。
猜你喜欢
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 2017-09-18
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
相关资源
最近更新 更多