python - 如何将生成的 RDD 写入 Spark python 中的 csv 文件

标签 python csv apache-spark pyspark file-writing

我有一个结果 RDD labelsAndPredictions = testData.map(lambda lp: lp.label).zip(predictions)。这具有以下格式的输出:

[(0.0, 0.08482142857142858), (0.0, 0.11442786069651742),.....]

我想要的是创建一个 CSV 文件,其中一列用于 labels(上述输出中元组的第一部分),一列用于 predictions(第二部分元组输出)。但我不知道如何使用 Python 在 Spark 中写入 CSV 文件。

如何使用上述输出创建 CSV 文件?

最佳答案

只需将 RDD 的行 (labelsAndPredictions) map 转换为字符串(CSV 的行),然后使用 rdd.saveAsTextFile() .

def toCSVLine(data):
  return ','.join(str(d) for d in data)

lines = labelsAndPredictions.map(toCSVLine)
lines.saveAsTextFile('hdfs://my-node:9000/tmp/labels-and-predictions.csv')

关于python - 如何将生成的 RDD 写入 Spark python 中的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31898964/

相关文章:

python - 使用按需 HOT Insight 集群从 Azure 数据工厂 V2 访问数据湖

python - 在 Pandas 数据帧上应用 scikit-learn murmurhash3_32

csv - genfromtxt dtype=None 返回错误的形状

c - c 中的段错误(核心转储)

apache-spark - Spark 在 WholeTextFiles 上创建的分区少于 minPartitions 参数

hadoop - YARN 上的 Apache Spark : Large number of input data files (combine multiple input files in spark)

java - Spark 流作业已退出,代码为 11

python - 如何查找excel单元格是否为日期

python - pycharm 无法使用 python3.8 连接到控制台

mysql - main :Object (NameError) 的未定义局部变量或方法 `category'