python - 沿着 apache-spark 中的映射在 excel 文件中写入 RDD 数据

标签 python excel apache-spark

我可以在 excel 文件中写入 RDD 数据以及在 apache-spark 中映射吗?这是正确的方法吗?那不是一个写作将是一个本地函数并且不能通过集群传递吗?

下面给出了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()

有2个问题:
  • 像这样在“mapperFunc”中使用行是正确的方法吗?每次都会增加行吗?
  • 在映射器函数中使用 worksheet.write() 写入 excel 文件是否正确?

  • 另外,如果#2是正确的,那么请澄清我认为工作表是在本地机器上创建的,那么它是如何工作的?

    谢谢

    最佳答案

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

    在此处查找一些示例:
    https://github.com/zuinnote/hadoopoffice

    关于python - 沿着 apache-spark 中的映射在 excel 文件中写入 RDD 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23923966/

    相关文章:

    python - 我可以在同一台计算机上运行两个 Web 服务器吗?

    VBA InStr 始终返回 0

    scala - EC2 上的 Spark Streaming : Exception in thread "main" java. lang.ExceptionInInitializerError

    hadoop - 如何从不同主机外部访问在docker容器(覆盖)中运行的服务

    python - Python 中的快速、小型和重复矩阵乘法

    python - 在不同主机上并行和后台执行 Fabric 函数

    javascript - 将 html 导出到 Excel : when try to open file it gives prompt like file is corrupted

    excel - UiPath - VB Net - Excel - 解锁特定列

    apache-spark - Spark 异步作业失败并出现错误

    python - 如何在Python和Keras中通过深度学习进行光照估计后显示颜色校正图像?