gpt4 book ai didi

Hadoop 与 supercsv

转载 作者:可可西里 更新时间:2023-11-01 14:47:40 25 4
gpt4 key购买 nike

我必须处理非常大的文本文件(例如 5 TB 大小)中的数据。处理逻辑使用 supercsv 来解析数据并对其进行一些检查。显然由于规模很大,我们计划使用 hadoop 来利用并行计算。我在我的机器上安装了 hadoop,然后开始编写 mapper 和 reducer 类,但我被卡住了。因为映射需要一个键值对,所以要读取这个文本文件,我不确定在这个特定场景中键和值应该是什么。谁能帮我解决这个问题。

我的思维过程是这样的(如果我知道我是否正确,请告诉我)1) 使用 superCSV 读取文件,hadoop 为 hdfs 中的每个文件 block 生成 supercsv bean。(我假设 hadoop 负责拆分文件)2) 对于这些 supercsvbeans 中的每一个运行我的检查逻辑。

最佳答案

数据是否换行分隔?也就是说,如果您只是在每个换行符上拆分数据,那么每个 block 是否总是一个完整的记录?这取决于 superCSV 对文本的编码方式,以及您的实际数据是否包含换行符。

如果是:

只需使用 TextInputFormat。它为您提供(我认为)字节偏移量作为映射键,整行作为值。您可以忽略 key ,并使用 superCSV 解析该行。

如果没有:

您必须编写自己的自定义 InputFormat - 这是一个很好的教程:http://developer.yahoo.com/hadoop/tutorial/module5.html#fileformat .键是什么以及值是什么的细节对于映射器输入来说并不重要;只需确保两者之一包含您想要的实际数据。您甚至可以使用 NullWritable 作为其中之一的类型。

关于Hadoop 与 supercsv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13075343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com