0

我是 MR 和 Hadoop 方面的新手。我写了一个 MR 来查找 csv 文件中的缺失,它工作正常。现在我有一个用例,我需要解析一个 csv 文件并使用相关类别对其进行编码。

例如:"11,abc,xyz,51,61,78","11,adc,ryz,41,71,38",......

现在必须将其替换为 "1,abc,xyz,5,6,7","1,adc,ryz,4,7,3",......

在这里,我正在做一个 10 的 mod,但会有不同的 mod 情况。数据大小以 GB 为单位。

我想知道如何就地替换输入内容。这可以通过 MR 实现吗?

基本上我在任何地方都没有看到任何文件处理或基于 hadoop 编写的示例。

此时我不想使用 HBase 或其他数据库工具。

4

1 回答 1

1

您不能就地替换数据,因为 HDFS 文件只能追加,不能编辑。
我认为实现目标的最简单方法是将 Hive 中的数据注册为外部表,并在 HQL 中编写您的转换。
Hive 是一个与 hadoop 无关的系统,可以将您的查询转换为 MR Jobs。它的使用不是像 HBASE 使用那样严重的基础设施决策

于 2012-04-24T07:46:32.217 回答