当前位置: 首页 > 知识库问答 >
问题:

如何在spark 1.6中将数据帧保存到csv文件?

松昱
2023-03-14

我正在处理一个包含uni_key和createdDate两列的数据帧。我运行一个SQL查询并将结果保存到a中,现在我想将这些结果保存到csv文件中。有什么方法可以做到这一点吗?这是一个代码片段:

import sys
from pyspark import SparkContext
from pyspark.sql import SQLContext, Row
import csv



if len(sys.argv) != 2:

    print("Usage: cleaning_date.py <file>")
    exit(-1)
sc = SparkContext()
sqlContext = SQLContext(sc)
csvfile = sc.textFile("new_311.csv")
key_val = csvfile.mapPartitions(lambda x: csv.reader(x)).map(lambda x: (x[0], x[1]))
result = key_val.filter(lambda x: getDataType(x[1]) == "valid")
myDataFrame = sqlContext.createDataFrame(result, ('uni_key', 'createdDate'))
print(type(myDataFrame))
myDataFrame.registerTempTable("abc")
a = sqlContext.sql("SELECT uni_key FROM abc")
a.show()
# a.write.format("com.databricks.spark.csv").save("l.csv")
a.write.option("header", "true").csv("aaa.csv")
sc.stop()

代码当前出现以下错误:

AttributeError:“DataFrameWriter”对象没有属性“csv”

共有1个答案

商飞航
2023-03-14

Spark 2.0中引入了内置CSV编写器,您可以清楚地使用Spark 1。十、

要么使用spack-csv

df.write.format("com.databricks.spark.csv").save(path)

或将Spark更新至最新版本。

 类似资料:
  • (希望有人能帮我解决这个问题)非常感谢!!

  • 问题内容: 我正在尝试重组在Excel文件中组织降水数据的方式。为此,我编写了以下代码: 这段代码运行良好,通过Jupyter,我可以看到结果是不错的 但是,尝试将此数据帧保存到csv文件时遇到问题。 结果文件包含垂直索引列,看来我无法调用特定的单元格。 (希望有人可以帮助我解决这个问题)非常感谢! 问题答案: 全部在文档中。 您有兴趣跳过索引列,因此: 如果您还想跳过标题,请添加: 我不知道您的

  • 假设我创建了一个熊猫数据帧 现在我正在运行一个像这样的选择 问题是:我如何将这个结果导出/保存到一个CSV文件? 预先默许 a

  • 我在网上读到,您可以使用几种不同的方法将数据帧的内容保存到数据湖中的CSV文件中。我的dataframe很好,但我似乎不能将它保存到CSV文件中。我很乐意把这个CSV放在湖里,或者放在我的桌面上。任何一个都没问题。 尝试1: 尝试2: 两种选择对我都不起作用。对于这两种情况,我将得到一条错误消息,内容为

  • 我用的是Flink 1.4.0 我正在尝试将Table API查询的结果保存到CSV文件,但我收到错误。以下是详细信息: 我的输入文件如下所示: 我对此运行查询以仅选择犬类,我想将其保存到csv文件中: 当我运行此命令时,我看到数据集的结果被输出: 犬科动物,2 然而,我在输出文件中没有得到任何结果,我在下面看到了这些错误。我能做些什么来解决这个问题?谢谢

  • 问题内容: 我正在处理熊猫和Spark数据帧。数据帧始终很大(> 20 GB),而标准的火花功能不足以容纳这些大小。目前,我将我的pandas数据框转换为spark数据框,如下所示: 我进行这种转换是因为通过火花将数据帧写入hdfs非常容易: 但是,对于大于2 GB的数据帧,转换失败。如果将spark数据框转换为熊猫,则可以使用pyarrow: 这是从Spark到Panda的快速对话,它也适用于大