【发布时间】:2015-11-04 22:48:57
【问题描述】:
我有以下场景:
- 测量值通过网络服务以文件的形式上传
- 这些文件稍后会复制到 HDFS
- 每次测量都包含多个特征(值),用于一个或多个参数
- 测量可能有不同数量的值
- 使用 Hadoop 上的机器学习算法处理测量结果
- 并非所有测量都进行,而是针对特定用户、特定时间段进行(例如,对用户 X 在 Y-Z 期间上传的文件执行处理)
- 中间结果以及最终结果都存储在 HDFS 上
我的问题与第二点有关 - 这些文件稍后会复制到 HDFS - 我担心存在大量小文件(例如 1MB)可能是个问题。
我的想法是将这些文件存储在数据库中,这样我就可以避免小文件的问题,并且还能够查询数据(为用户选择数据)。这是更好的方法吗?
如果答案是肯定的,我可以使用哪些数据库?所以我需要数据库是:
- 兼容 Hadoop(大数据)
- 行可能包含不同数量的值(例如时间序列)
- 检索特定用户在特定时间段内的测量值
- 记录被输入到 MapReduce 作业
【问题讨论】: