【问题标题】:How to Integrate hadoop cluster with application server?如何将hadoop集群与应用服务器集成?
【发布时间】:2014-04-23 19:44:52
【问题描述】:

我有各种应用程序服务器(例如 Web 应用程序),并且我也一直在使用 Hbase、Impala、Hive 等使用 hadoop。我可以使用命令行或使用 Web 界面(例如 Hue)获得我正在寻找的结果。

现在如何将 Hadoop 作为后端与当前应用程序替代后端解决方案(如 MySQL、MSSQL、Oracle 等)集成?

p.s 我知道很多是使用 hadoop 进行批处理,但 HBase 确实提供了一些近乎实时的分析。即使是批处理,我也想让用户开始一些分析,然后返回并在我自己的前端应用程序中查看结果。

【问题讨论】:

  • 有没有弄清楚如何实现这一点。我也被困在这里。我知道每个工具是如何工作的。但我正在寻找从网络应用程序(php/java)接口它们的方法。

标签: hadoop integration hbase backend


【解决方案1】:

每个框架都提供了多个接口和自己的API,彼此不兼容。查看Spring Data,它可以轻松使用多个数据库(RDBMS 和 NoSQL)。这里 (1, 2) 是一些关于 Spring Data 的书籍。

我没有关注 Spring Data,所以不确定它周围的社区有多活跃。也许有人可以添加到这个。

【讨论】:

    【解决方案2】:

    具有多种变体的常见模式涉及使用 Hadoop 工作流在新摄取的数据(或 Storm 拓扑或只是 Kafka 消费者)上反复执行来处理数据并将其缓存在 NoSQL DB 中。如果您想以更精细的粒度存储结果,则可以使用 Cassandra 或 HBase 之类的东西;如果您想要更粗粒度的结果,则可以使用 elasticsearch 或 mongoDB。然后,当请求进入您的 Web API 层时,您的逻辑可以从缓存数据库中提取最新的必要数据,可选择将其转换为正确的格式,应用任何最后一分钟的计算并将数据作为JSON 对象。

    【讨论】:

    • 您能否详细说明哪些解决方案可以让我从 Web API 层(例如 Php 或 Perl 等)与 HBase/Impala/Hive 进行交互。我看到了一些关于 Thrift 的信息,但有没有通用的允许与多种技术通信的中间层?
    猜你喜欢
    • 2019-09-08
    • 2019-11-08
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 2019-09-16
    • 1970-01-01
    相关资源
    最近更新 更多