hadoop - 如何将具有多个工作表的数据从Excel工作簿导出到Hadoop

标签 hadoop hdfs bigdata

我是Hadoop开发的新手,在将具有多个工作表的excel 工作簿中的数据导出到HDFS时遇到了挑战? 我已经成功导出了单页工作簿,但是我卡在多张工作表中!数据为结构化形式。

我应该选择哪些选项?请指教...

非常感谢

最佳答案

您可以使用python包xlrd之类的东西对Excel工作表进行预处理。

像这样:

import xlrd
import csv
import sys

def csv_from_excel(input_file,output_file,sheet_index):
  wb = xlrd.open_workbook(input_file)
  sh = wb.sheet_by_index(sheet_index)
  your_csv_file = open(output_file, 'wb')
  wr = csv.writer(your_csv_file)
  for rownum in xrange(sh.nrows):
    row = []
    for s in sh.row_values(rownum):
      row.append(s)
    wr.writerow(row)
  your_csv_file.close()

您可能会定义一个UDF来进行此处理,因为我对此没有经验。在您开始M / R工作之前,我个人会使用类似这样的步骤作为预处理步骤。

关于hadoop - 如何将具有多个工作表的数据从Excel工作簿导出到Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35218230/

相关文章:

shell - 如何在HBase shell中使用describe 'table_name'创建表。

azure - 由 Azure 数据仓库提供支持的 Power BI 中基于时间的钻取

hadoop - 使用 multidelimeter 在配置单元中插入数据

hadoop - Jython 在 Pig 的 UDF 上下文中的局限性

hadoop - 无法连接到远程计算机上的dfs namenode Web UI

linux - 如何使用Bash测试hdfs文件是否存在

Hadoop 映射器发出一个唯一的键。我可以在每个 map 之后执行 reducer 吗?

hadoop - 如何清理hadoop mapreduce内存使用量?

hadoop - 在映射期间替换为 HBase 查找以进行 mapreduce

hadoop - 如何在我的服务中快速/实时地从HDFS提供数据?