主要针对大块的数据文件,最好是数据规模上G、T级别的,hadoop把大块数据进行切割并进行分布式存储,对小块数据由于系统开销等原因处理速度并不一定比单个串行程序明显。
此外,hadoop的mapreduce计算模型通过map任务会产生中间结果文件,reduce任务在处理这些中间结果文件形成最终结果文件并输出。由于中间结果文件是存储在各个分布式计算节点本地内存或磁盘上的,如果计算产生的中间结果文件非常巨大,reduce过程需要通过远程过程调用来取得这些中间结果文件,会加大网络传输的开销,则不适合采用hadoop处理。
所以对于是否何时采用hadoop来处理数据,上面讲的两点是必须考虑的问题,对于大规模数据的统计分析,例如求期望方差、或者对海量数据的分布式查询适合用hadoop来做。
呵呵~~不知是否解答清楚了你的问题
hadoop主要组件是三个, hdfs, mapreduce和 core. hdfs是分布式文件系统,mapreduce是分布式计算平台。 他们组后后可以完成海量数据存储和数据分析的工作。 但是mapreduce得模型只能处理一些简单的业务,这是他们的受限之处。
对于他们在性能上和可靠性上的问题,hadoop开源本身的发展正在解决问题。
主要是对大数据量的简单计算。例如输入量上G,上T的,使用普通的处理方法太花时间。这时使用hadoop5分钟就搞定了,非常省时间,而且hadoop job也不难写。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....