Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HBase项目-技术和体系结构_Java_Spring_Open Source_Projects And Solutions_Hbase - Fatal编程技术网

Java HBase项目-技术和体系结构

Java HBase项目-技术和体系结构,java,spring,open-source,projects-and-solutions,hbase,Java,Spring,Open Source,Projects And Solutions,Hbase,我想开发一个应用程序来学习如何使用HBase。我可以使用什么技术来开发使用HBase的良好学习项目?例如,我想使用RubyonRails、JavaEE或Spring之类的东西。我可以采用什么体系结构?正如您可能知道的那样,HBase构建在HDFS(Hadoop分布式文件系统)之上,预计它将用于存储非常大的(TB或PB)数据集。因此,从普通应用程序(控制台、桌面或Web应用程序)使用HBase不是一个好主意,因为它能够并行处理数据集,如果我们希望在如此大的数据集上具有良好的性能和可伸缩性,这是必需

我想开发一个应用程序来学习如何使用HBase。我可以使用什么技术来开发使用HBase的良好学习项目?例如,我想使用RubyonRails、JavaEE或Spring之类的东西。我可以采用什么体系结构?

正如您可能知道的那样,HBase构建在HDFS(Hadoop分布式文件系统)之上,预计它将用于存储非常大的(TB或PB)数据集。因此,从普通应用程序(控制台、桌面或Web应用程序)使用HBase不是一个好主意,因为它能够并行处理数据集,如果我们希望在如此大的数据集上具有良好的性能和可伸缩性,这是必需的。如果没有并行处理,在如此大的数据上完成单个作业可能需要很多天。Hadoop的MapReduce框架正好为这个问题提供了解决方案。您可以使用MapReduce读取/写入HBase。这将使应用程序具有高性能(作业将从几天减少到几分钟或几小时)


因此,在我看来,最好从将MapReduce框架与HBase一起使用开始。您可以使用Java或RoR来实现这一点。尽管MapReduce框架是用Java开发的,但它也可以通过流式API从其他语言使用。RoR还可以更好地与Hadoop集成。

正如您可能知道的那样,HBase构建在HDFS(Hadoop分布式文件系统)之上,预计它将用于存储非常大的(TB或PB)数据集。因此,从普通应用程序(控制台、桌面或Web应用程序)使用HBase不是一个好主意,因为它能够并行处理数据集,如果我们希望在如此大的数据集上具有良好的性能和可伸缩性,这是必需的。如果没有并行处理,在如此大的数据上完成单个作业可能需要很多天。Hadoop的MapReduce框架正好为这个问题提供了解决方案。您可以使用MapReduce读取/写入HBase。这将使应用程序具有高性能(作业将从几天减少到几分钟或几小时)


因此,在我看来,最好从将MapReduce框架与HBase一起使用开始。您可以使用Java或RoR来实现这一点。尽管MapReduce框架是用Java开发的,但它也可以通过流式API从其他语言使用。RoR还可以更好地与Hadoop集成。

我认为这不是应用程序使用HBase的技术问题。主要的学习曲线(除了Hadoop和HBase管理)是理解RDBMS和HBase之间的范式转换

因此,作为一个主要的例外,我建议您采用一些现有的RDBMS设计(或者可以使用iEngine),并将其映射到HBASE中。您必须通过的主要测试是:确保您在RDM上执行的所有查询都能够以合理的效率执行。这样做,您将了解HBase和关系数据库在概念上的区别。

我认为这与使用HBase的应用程序的技术无关。主要的学习曲线(除了Hadoop和HBase管理)是理解RDBMS和HBase之间的范式转换
因此,作为一个主要的例外,我建议您采用一些现有的RDBMS设计(或者可以使用iEngine),并将其映射到HBASE中。您必须通过的主要测试是:确保您在RDM上执行的所有查询都能够以合理的效率执行。通过这样做,您将了解HBase和关系数据库在概念上的区别。