java - 将非结构化数据处理成结构化数据以建立预测模型?

标签 java hadoop mapreduce

我是 Hadoop 新手,我有非结构化数据文件,需要在 mapreduce 中转换成结构化数据吗?如果不是,这是最佳实践

file1.txt


Message-ID: <5482922.1075855813971.JavaMail.evans@thyme>

Date: Thu, 26 Oct 2000 09:21:00 -0700 (PDT)

From: ted.bland@enron.com

To: janet.dietrich@enron.com, wes.colwell@enron.com, sally.beck@enron.com, 
    kevin.presto@enron.com, thomas.martin@enron.com, 
    hunter.shively@enron.com, scott.neal@enron.com, w.duran@enron.com, 
    jeff.donahue@enron.com, brian.redmond@enron.com

Subject: Super Saturday Interviewers for October 28, 2000



file2.txt

Message-ID: <12142333.1075855814153.JavaMail.evans@thyme>

Date: Tue, 24 Oct 2000 14:12:00 -0700 (PDT)

From: enron.announcements@enron.com

To: ena.employees@enron.com

Subject: Associate/Analyst Super Saturday Participation - ADDITIONAL REQUEST


file1.txt and file2.txt are two file, i want the output like

Message-ID      Date        From        To      Subject

respective values as like table. Is that possible in Mapreduce?

最佳答案

Hadoop API 提供了一个 InputFormat接口(interface)来定义您的输入数据应如何转换为键值对的集合。

已经有许多内置输入格式(请参阅文档中的实现类列表),但它们非常通用,更适合结构化数据。例如,TextInputFormat假设每一行都是单独的记录并生成键值对,其中键是行号,值是文本行。

对于非结构化数据,您必须定义自己的自定义输入格式类。这是 link关于如何做到这一点的简短教程。

附带说明一下,考虑使用 Apache Spark ,它具有 Hadoop 必须提供的所有功能,并且非常有用 machine learning library可用于构建模型。

关于java - 将非结构化数据处理成结构化数据以建立预测模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38784273/

相关文章:

java - Spark : Technical terminology for reduce elements on the run-time?

hadoop - 连续摄取的 HDFS 文件压缩

hadoop - Hive数据库或表无法创建,我刚刚配置了centOS 6.4 VM并安装了Hive

hadoop - Mapreduce 处理同一目录中的多个文件

java - 使用 Java 中的 REST API Azure 获取详细的错误消息

java - 我的 Card 类有什么问题,我不希望它是抽象的

java - 当应用程序从Play商店强制更新时,如何保持Android应用程序始终处于登录状态?

java - 用于身份验证的 Indivo Server Java API

java - AWS Elastic Map Reduce 中线程 "main"java.lang.NoClassDefFoundError 中的异常

hadoop - 有人有配置单元错误代码列表吗?