Hadoop如何获取未存储在HDFS上的输入数据?

时间:2015-06-25 08:32:42

标签: java hadoop hdfs nosql

我正在尝试将我的大脑包裹在Hadoop周围并阅读this excellent tutorial并仔细阅读official Hadoop docs。但是,在这些文献中,我找不到一些简单的解释:

在所有人为设计的“ Hello World!”(字数统计)介绍性MR示例中,输入数据直接存储在文本文件中。然而,对我而言,感觉感觉像这样在现实世界中很少会出现这种情况。我想想象实际上,输入数据将存在于大型数据存储中,如关系数据库,Mongo,Cassandra,或者只能通过REST API等获得。

所以我问:在现实世界中,Hadoop如何获取其输入数据?我确实看到有SqoopFlume这样的项目,我想知道是否这些框架的重点是简单地将数据输入到HDFS上以运行MR作业。

1 个答案:

答案 0 :(得分:5)

实际上,Real world应用程序需要HDFS,原因有很多。

  • 支持Map Reduce工作负载和可伸缩性的极高带宽。
  • 数据可靠性和容错性。由于复制和分布式性质。关键数据系统必需。
  • 灵活性 - 您无需预先处理数据以将其存储在HDFS中。

Hadoop旨在编写一次并阅读许多概念。通常用于摄取的Kafka,Flume和Sqoop本身非常容错,并且为HDFS的数据摄取提供高带宽。有时需要使用GB中的数据从每分钟数千个源中摄取数据。为此,需要这些工具以及容错存储系统-HDFS。