【发布时间】:2014-12-26 06:04:21
【问题描述】:
我是hadoop的初学者,在hadoop中阅读小文件问题,现在我有一个问题要解决,帮助我开始
问题:
源结果:大约 100 万+(大约)个文件,每个文件大小接近 1 kb(无法阻止创建或调整大小)
结果分组: 源结果被分成 1000 个文件 A 组。
需要的任务:
组中的文件将以一对一的方式进行比较 文件是遵循特定标准结构(标题、内容...等)的二进制细节(生物特征)文件
由于源结果预计会随着时间增加,我想在hadoop上实现比较
Hadoop 的输入:
:
请注意,文件名是唯一的 id,单独发出文件名会有很大帮助
08RTC345744.txt 08RTC345746.txt
08RTC345744.txt 08RTC3457XX.txt
08RTXX457XX.txt 08YYC3457YY.txt
..................
XXXXXXN.txt YYYYYYN.txt
流程算法:(没有实现,只是一个想法)
- 逐行读取输入文件
- 借助 har:// 读取行中的每个文件(例如:读取 har://xxx/08RTC345744.txt 和 har://xxx/08RTC345746.txt)
- 比较使用相关生物特征算法从 hdfs (HAR) 读取的文件
- 如果它们显示相似 Emit
08RTC345744.txt
08RTC345746.txt
08RTC345745.txt
08RTC3457XX.txt
08RTXX457XB.txt
08YYC3457YY.txt
1) 在 Hadoop 中实现是不是更好?
2)我读到比较小文件是 hadoop 中的一个问题,为一组组形成一个 HAR 文件然后比较是否更好?
3) 我的 流程算法: 是否有效?
4) 有效吗?我想,当然不是,还有其他想法吗?
5) 关于 MapReduce 在生物特征匹配方面的任何想法?
6)HBASE 是一个解决方案吗?
【问题讨论】:
标签: java hadoop bigdata hadoop2 hdf