java—hadoop如何获取未存储在hdfs上的输入数据?

ghhaqwfi  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(382)

我正试着围绕着hadoop来思考,阅读这个优秀的教程以及hadoop官方文档。然而,在这些文献中,我都找不到一个简单的解释来解释一些相当初级的东西:
在所有人为的“你好世界!”(字数统计)例如,输入数据直接存储在文本文件中。然而,对我来说,在现实世界中这种情况很少发生。我可以想象,在现实中,输入数据将存在于大型数据存储中,比如关系数据库、mongo、cassandra,或者只能通过restapi使用,等等。
所以我问:在现实世界中,hadoop是如何获得其输入数据的?我确实看到了像sqoop和flume这样的项目,我想知道这些框架的全部目的是否只是为了简单地将etl输入到hdfs上以运行mr jobs。

pqwbnv8z

pqwbnv8z1#

实际上,hdfs在实际应用中是需要的,原因有很多。
非常高的带宽支持map,减少了工作负载和可扩展性。
数据可靠性和容错性。由于复制和分布式的性质。关键数据系统所需。
灵活性—您不必预先处理数据以将其存储在hdfs中。
hadoop被设计成一次写多读的概念。通常用于接收的kafka、flume和sqoop本身具有很高的容错性,为hdfs的数据接收提供了高带宽。有时需要每分钟从数千个数据源接收数据,数据以gbs为单位。为此,需要这些工具以及容错存储系统hdfs。

相关问题