Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
Hadoop 大数据分析选择技术栈_Hadoop_Nosql_Analysis_Bigdata - Fatal编程技术网

Hadoop 大数据分析选择技术栈

Hadoop 大数据分析选择技术栈,hadoop,nosql,analysis,bigdata,Hadoop,Nosql,Analysis,Bigdata,我想写一个应用程序,它能够生成报告并启用交互式数据分析OLAP,比如从大型生产系统监控数据。我知道,前面有一些有问题的权衡决定,但让我们暂时搁置它们。 我确定了基本技术堆栈的以下可能性: Hadoop:用于分布式文件系统和MapReduce框架 数据库:HBase或Cassandra以启用随机读取 分析:用于高级分析的蜂箱或猪 根据我的研究,我倾向于相信Hadoop/HBase/Hive将是最常见的组合。但这只是基于一些论坛问题和产品介绍。 其他人能分享他对这个问题的一般看法吗? 或者更具体地回

我想写一个应用程序,它能够生成报告并启用交互式数据分析OLAP,比如从大型生产系统监控数据。我知道,前面有一些有问题的权衡决定,但让我们暂时搁置它们。 我确定了基本技术堆栈的以下可能性:

Hadoop:用于分布式文件系统和MapReduce框架 数据库:HBase或Cassandra以启用随机读取 分析:用于高级分析的蜂箱或猪 根据我的研究,我倾向于相信Hadoop/HBase/Hive将是最常见的组合。但这只是基于一些论坛问题和产品介绍。 其他人能分享他对这个问题的一般看法吗? 或者更具体地回答以下问题:

HBase总体上比Cassandra的读写性能更适合大数据分析吗? 是否值得使用数据库,还是应该直接在Hadoop上找到我的分析层? 哪些数据库/分析工具组合是最自然的? 我错过了什么好东西吗?
如果您要在与Hadoop相同的集群上运行HBase,那么您将真正减少MapReduce作业的可用内存。对于OLAP系统,您并不真正需要HBase的随机读取/更新功能。您可以使用Flume或手动将数据加载到Hadoop集群中。设备监控数据适合按时间进行分区,例如按日历日期。将数据加载到可以映射到分区配置单元表的目录结构中后,可以使用HiveQL查询它。对于最棘手的分析,您可以用Java编写MapReduce作业,也可以使用Pig


问题在于,回应不会一蹴而就。这对于广告风险分析来说是可以的,但如果您试图查看一些常用的预先确定的指标,可能会感到沮丧。在后一种情况下,您应该考虑预先计算这些度量并将结果加载到内存缓存中,甚至在关系数据库中。我在HBase中看到过如此频繁使用的结果,我无法克服为此在集群上浪费一半的可用RAM。

如果您在与Hadoop相同的集群上运行HBase,那么您就真的减少了MapReduce作业的可用内存。对于OLAP系统,您并不真正需要HBase的随机读取/更新功能。您可以使用Flume或手动将数据加载到Hadoop集群中。设备监控数据适合按时间进行分区,例如按日历日期。将数据加载到可以映射到分区配置单元表的目录结构中后,可以使用HiveQL查询它。对于最棘手的分析,您可以用Java编写MapReduce作业,也可以使用Pig

问题在于,回应不会一蹴而就。这对于广告风险分析来说是可以的,但如果您试图查看一些常用的预先确定的指标,可能会感到沮丧。在后一种情况下,您应该考虑预先计算这些度量并将结果加载到内存缓存中,甚至在关系数据库中。我在HBase中看到过如此频繁使用的结果,我无法克服为此在集群上浪费一半可用RAM的问题。

IMHO

1-考虑到所有最新的进展,仅根据您的读/写需求就很难决定是使用HBase还是Cassandra。您可以调整这些工具以适应您的读/写需求。在做出任何决定时,你应该考虑的事情很少。 2-在这一点上,您似乎不需要DB。您可以将存储在HDFS中的数据映射到配置单元表。然后,在需要长时间运行的批处理过程时运行配置单元查询。如果您打算对数据的某些部分执行实时特别查询,那么当实时性非常重要时,可以在同一个配置单元表上使用Cloudera Impala。黑斑羚使用相同的蜂巢元数据。所以你不必为此担心

3-如果你计划在Hadoop平台上工作,那么HDFS+Hive+HBase+Pig就很好了。我不是说Cassandra不好,但是Hbase是为Hadoop开发的

4-外面有很多“酷”的东西,但是你最好把数字保持在低水平。更多的工具意味着更多的配置、更多的设置和更多的管理更令人头痛。所以,只从那些真正需要的东西开始,只有当你认为它是真正需要的,或者它会给你一些额外的优势时,才添加一个特定的工具。但你可能想看看像黑斑羚、风暴、水槽、火花/鲨鱼等工具

另外,HBase是为在Hadoop集群上使用而构建的。毫无疑问,它会消耗一些内存,但这不应该成为应用程序的瓶颈。你只要把一切都调好就行了。但是,只有当您需要对数据进行随机实时读/写访问时,才使用它。

IMHO

1-考虑所有最新进展 n仅仅根据您的读/写需要,就很难决定是使用HBase还是Cassandra。您可以调整这些工具以适应您的读/写需求。在做出任何决定时,你应该考虑的事情很少。 2-在这一点上,您似乎不需要DB。您可以将存储在HDFS中的数据映射到配置单元表。然后,在需要长时间运行的批处理过程时运行配置单元查询。如果您打算对数据的某些部分执行实时特别查询,那么当实时性非常重要时,可以在同一个配置单元表上使用Cloudera Impala。黑斑羚使用相同的蜂巢元数据。所以你不必为此担心

3-如果你计划在Hadoop平台上工作,那么HDFS+Hive+HBase+Pig就很好了。我不是说Cassandra不好,但是Hbase是为Hadoop开发的

4-外面有很多“酷”的东西,但是你最好把数字保持在低水平。更多的工具意味着更多的配置、更多的设置和更多的管理更令人头痛。所以,只从那些真正需要的东西开始,只有当你认为它是真正需要的,或者它会给你一些额外的优势时,才添加一个特定的工具。但你可能想看看像黑斑羚、风暴、水槽、火花/鲨鱼等工具


另外,HBase是为在Hadoop集群上使用而构建的。毫无疑问,它会消耗一些内存,但这不应该成为应用程序的瓶颈。你只要把一切都调好就行了。但是,只有当您需要对数据进行随机实时读/写访问时,才可以使用它。

谢谢您的回答,如果我有代表的话,我会投赞成票。因为您似乎在这方面有经验,您是否使用过实时查询框架Cloudera Impala、Apache Drill、Spark/Shark?不,不太可能。我已经离开这个领域大约一年了,所以我可能错过了一些最新的发展。谢谢你的回答,如果我有代表的话,我会投赞成票。因为你似乎在这个领域有经验,你有没有使用过实时查询框架Cloudera Impala、Apache Drill、Spark/Shark?不,没有。我已经离开这个领域大约一年了,所以我可能错过了一些最新的发展。+1仅当您需要对数据进行随机实时读/写访问时才使用HBase。+1仅当您需要对数据进行随机实时读/写访问时才使用HBase。