【问题标题】:Write pyspark sql query output to csv file将 pyspark sql 查询输出写入 csv 文件
【发布时间】:2021-09-12 22:30:21
【问题描述】:

我执行 sql 查询、将其转换为 pandas 并写入 csv 文件的代码如下所示,但在执行时会出现错误。

src_query = """从表中选择 *"""

df = spark.sql(src_query).toPandas()

df.write.csv('output.csv', index=False)

这是我在执行时在最后一行看到的错误 - “无效语法” 任何人都可以分享有关如何轻松将 spark 输出写入 csv 文件的任何提示吗?

【问题讨论】:

    标签: python pandas pyspark export-to-csv


    【解决方案1】:

    这是pyspark 的语法。

    df.write.csv
    

    但是,您使用此将数据帧转换为 Pandas 数据帧。

    df = spark.sql(src_query).toPandas()
    

    因此,df 是 pandas 对象,您需要使用 pandas 语法。

    df.to_csv('output.csv', index=False)
    

    【讨论】:

    • 我仍然收到无效的语法错误。不知道这看似简单的事情可能有什么问题。
    • 你知道你从哪里得到错误信息吗?
    • df = spark.sql(src_query).toPandas() - 这是错误所在的行
    • 您能否在初始化spark 的位置添加代码以及如何运行火花? (即:在数据块上?火花提交?)
    • 谢谢,我想我没有意识到我在做什么。在我将 spark 数据帧转换为 pandas 并使用 to_csv 方法后,代码现在可以正常工作了。
    【解决方案2】:

    试试这个看看

    filename='output.csv'
    df.to_csv(file_name, encoding='utf-8', index=False)
    

    【讨论】:

    • 这给了我同样的文件名错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多