将apache-spark中的RDD数据写入excel文件

我可以在Excel文件中写入RDD数据以及在apache-spark中的映射吗? 这是一个正确的方法吗? 这不是一个写作将是一个本地function,不能通过群集?

下面给出的Python代码(它只是一个例子来澄清我的问题,我明白这个实现可能并不需要):

import xlsxwriter import sys import math from pyspark import SparkContext # get the spark context in sc. workbook = xlsxwriter.Workbook('output_excel.xlsx') worksheet = workbook.add_worksheet() data = sc.textFile("xyz.txt") # xyz.txt is a file whose each line contains string delimited by <SPACE> row=0 def mapperFunc(x): for i in range(0,4): worksheet.write(row, i , x.split(" ")[i]) row++ return len(x.split()) data2 = data.map(mapperFunc) workbook.close() 

有两个questioms:

  1. 在“mapperFunc”中使用行是否正确? 每次都会增加行吗?
  2. 在excel文件中使用worksheet.write()在mapper函数中写入正确的方法?

另外如果#2是正确的,然后PLZ澄清我认为工作表是在本地机器创build的疑问,那么它是如何工作的?

谢谢

hadoopoffice库允许您使用Spark 1.x通过集成ExcelOutputFormat(使用PairRdd.saveAsNewAPIHadoopFile)或Spark 2.x数据源api编写Excel文件。 使用这个库,您可以将文件存储到HDFS或本地或S3或Azure …

在这里find一些例子: https : //github.com/zuinnote/hadoopoffice