首先,我对大数据和Hadoop世界相对较新,我刚刚开始尝试使用Hortonworks Sandbox(猪和Hive到目前为止).我想知道在哪些情况下我可以使用上面提到的Hadoop,Hive,Pig,HBase和Cassandra的工具?
在我的沙盒环境中,文件只有9MB Hive和Pig的响应时间为几秒到几分钟.这显然在某些情况下不可用,例如Web应用程序(除非它是其他东西,例如我的虚拟机设置).
我对正确用法的猜测是:
Hadoop:只是其余的技术基础,只有很少的用例可以直接使用
蜂巢或猪:用于每小时或每天运行一次的分析过程
HBase或Cassandra:用于需要100ms或更短响应时间的实时应用程序(例如Web应用程序)
另外,何时使用HBase而不是何时使用Cassandra?
谢谢!
你的猜测有点准确.
通过Hadoop,我猜你指的是MapReduce?Hadoop就是这样一个由许多组件组成的生态系统(包括MapReduce,HDFS,Pig和Hive).
当您需要在Map()和Reduce()方法级别编写处理数据的逻辑时,MapReduce很好.在我的工作中,当我处理非结构化且需要清理的数据时,我发现MapReduce非常有用.
Hive,Pig:它们适用于批处理过程,定期运行(可能是几小时或几天)
HBase和Cassandra:支持低延迟呼叫.因此,它们可用于实时应用程序,其中响应时间是关键.看看这个讨论,以便更好地了解HBase vs Cassandra.