java - 使用 hadoop 进行数据分析

标签 java mysql hadoop hive analytics

我有一个关于在我的一个项目中实现 hadoop 的问题。基本上要求是,我们每天都会收到大量日志,其中包含有关视频的信息(播放时间、停止时间、哪个用户播放等)。

我们要做的是分析这些文件并返回统计数据以响应 HTTP 请求。 请求示例:http://somesite/requestData?startDate=someDate&endDate=anotherDate .基本上,此请求要求计算在一个日期范围内播放的所有视频的数量。

我的问题是我们可以使用 hadoop 来解决这个问题吗?

我读过各种文章,hadoop 不是实时的。那么要处理这种情况,我应该将 hadoop 与 MySQL 结合使用吗?

我想做的是在 mysql 中为每天的每个视频编写一个 Map/Reduce 作业和存储计数。 hadoop 作业可以安排为每天运行一次。然后可以使用 Mysql 数据实时处理请求。

这种方法是否正确? hive 在这方面有用吗?请就此提供一些指导。

最佳答案

是的,您的方法是正确的 - 您可以使用 MR 作业或 Hive 创建每天的数据,并将它们存储在 MySQL 中以供实时使用。

然而,当配置了 Tez 时,较新版本的 Hive 可以提供不错的查询性能。您可以尝试将每天的数据存储在 Hive 中,直接从那里为它们提供服务。如果查询是一个简单的选择,它应该足够快。

关于java - 使用 hadoop 进行数据分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833562/

相关文章:

mysql - 将nodejs连接到mysql

scala - 如何在 Apache Flink 中对 GroupedDataSet 上的函数进行平面映射

json - 配置单元为 json 对象计算错误的总和

apache - EC2 上的 SSL 的 Ambari 注册阶段失败

mysql - 为什么这个在 MySQL4 中有效的查询在 MySQL5 中不起作用?

c# - 从 Windows Phone 7 连接到 MYSQL

具有功能接口(interface)参数类型的 Java 通用方法

java - 如何检查套接字的输出流是否关闭?

java - 有没有办法将 TIMEX3 字转换为它们的实际值?

javascript - 用 Java Vert.x 客户端替换 JavaScript SockJS 客户端