mapreduce可以用来过滤日志文件或其他东西,而不是计算单个指标吗?

kqqjbcuj  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(412)

我试图了解mapreduce是否是解决我遇到的特定问题的好工具。我需要搜索数百个日志文件,从几个特定的ip地址中找到特定的点击,并记录时间、ip地址和url路径。
我看到的所有与日志分析相关的mapreduce示例似乎都只计算一个指标,比如每小时点击率。这似乎是一个过于简化的示例,总是发出1的int-writable。
在我的情况下,我不是真的计算任何东西-它更多的是一个过滤器。map reduce步骤如何输出我正在搜索的特定地址的时间戳、ip地址和url路径?
我也可能想做一些分析,以计算几个不同的指标,而不是单一的“点击每小时”。为了计算几个不同的度量,通常是多个作业完成的,还是单个作业可以计算几个度量?
谢谢你的建议!

prdp8dxp

prdp8dxp1#

基本上你的问题是尴尬的平行。您只需要对不同的输入数据并行执行相同的操作。
这正是Map的作用。它将您的输入分成若干部分,然后对每个部分执行相同的代码。完成。你不在乎减少步骤。
您还可以使用hadoop流来执行二进制或shell脚本作为Map器。您很可能已经有了过滤数据的命令。你只需要把它并行化。
现在hadoop是适合您的工具吗?视情况而定。hadoop是掌握、部署和管理的猛兽,但它带来了可伸缩性和容错性,因为它的范例非常有限。您的用例也可以通过许多其他工具来解决,我相信这里的关键是:
你需要hdfs吗?
你想投资于hadoop集成(数据导入/导出等)和故障排除吗?
我也可能想做一些分析,以计算几个不同的指标,而不是单一的“点击每小时”。为了计算几个不同的度量,通常是多个作业完成的,还是单个作业可以计算几个度量?
有时可以,但我不能回答没有更多细节。尝试阅读一些关于map/reduce设计模式的资料。

相关问题