3

有人可以推荐好的解决方案(框架)来从Scala(或Java)应用程序访问HBase on Hadoop集群吗?

现在我正朝着烫伤的方向前进。我获得的原型允许我将烫伤库与Maven结合起来,并将烫伤作业 JAR 从“库”代码包中分离出来。这反过来又允许我从外部集群运行基于烫伤的 Hadoop 作业,每个作业的开销最小(“库”代码仅在它更改时才发布到集群“分布式缓存”(很少需要),因此我可以快速加载作业代码) .

现在我实际上开始使用 HBase 本身,我看到 scalding 很好,但它对 HBase 来说并不是那么“原生”。是的,有一些类似hbase-scalding的东西,但无论如何我都有一些计划未来的行动,我想知道我可能错过的其他好的解决方案。

预期:

  • 应用程序(作业)的启动开销应该很低。我需要运行很多。
  • 应该可以(更容易 - 更好)在没有任何 SSH 的情况下从外部集群运行作业(仅基于“hadoop jar”命令,甚至仅通过应用程序执行)。
  • 乔布斯语言本身应该允许简短的逻辑语义。理想情况下,此代码应该足够简单,可以自动生成。
  • 该解决方案在足够大的 HBase 表(最初最多 100.000.000 个条目)上应该是有效的。
  • 好的,解决方案应该是“活的”(正在积极开发中),但在总体稳定性方面相对较好。

我认为这里的论证可能比解决方案本身更有用,这个问题应该为许多人增加一些想法。有什么平安的建议吗?

4

5 回答 5

4

如果您使用的是 scalding(我推荐),则有一个新项目,其中包含用于访问 HBase 的更新的级联和 scalding 包装器。您可能想检查一下 - https://github.com/ParallelAI/SpyGlass

于 2013-08-06T09:35:49.670 回答
3

HPaste http://www.gravity.com/labs/hpaste/可能是您正在寻找的。

于 2013-07-15T22:26:17.757 回答
1

您可能对Kiji 项目 (https://github.com/kijiproject/)感兴趣。它在 HBase 之上提供了一个“模式化”层。

它还有一个 Scalding 适配器 ( KijiExpress ),因此您可以对源自这些模式化 HBase 表的元组“管道”执行功能集合操作(​​map、groupby 等)。

于 2014-04-11T00:03:54.983 回答
1

更新(2014 年 8 月): Stratosphere 现在称为Apache Flink(孵化中)

查看平流层。如果提供Scala API并具有HBase 模块并且正在积极开发中。

  • 应该可以在几秒钟左右的时间内启动作业(取决于您的集群大小。)
  • 您可以远程提交作业(它有一个名为的类RemoteExecutor,允许您以编程方式在远程集群上提交作业)

如果您还有其他问题,请与我联系!

于 2014-01-13T21:55:25.980 回答
0

我目前正在尝试在空闲时间维护 hbase-scalding。因为我也在学习 Scala。

请看一下github

于 2013-09-12T04:31:04.560 回答