我是Hadoop的新手,我相信我开始发现数据分析(“离线”)与网络应用的超低延迟世界有多大不同。我仍然很难理解的一件主要事情是,真正的“大数据”最初是如何进入HDFS的。
假设我有500 of的数据存储在各种系统(关系数据库管理系统、NoSQL、日志数据等等)中。我的理解是,如果我想编写MR jobs来查询和分析这些数据,我需要首先将其导入HDFS中。
但是,即使我在每个不同的系统和我的Hadoop集群之间有一个1 1Gbps的网络连接,这是500 to =500*1000 GB =500 000 GB的数据,在1 1Gbps时是500,000秒,或者是~138小时来将所有数据移植到我的HDFS集群。差不多一周了。
而且,如果我对大数据的理解是正确的,那么地球字节的比例实际上是相当低的,许多大数据系统都扩展到了千兆字节范围。现在我们可能要花上几个月,甚至几年时间,才能让乔布斯与他们对抗。如果我们的系统超过了千兆字节的数量级,那么我们将看到“飞行火箭滑板车”在数据被查询之前到处嗡嗡作响。
我是不是错过了一些最基本的东西?我觉得这不对。
发布于 2015-06-26 15:19:44
通常,数据是在生成数据时加载的。但是,有一些工具可以帮助加载到HDFS。
Apache https://flume.apache.org/ -设计用于聚合大量日志数据。Flume有许多捆绑的“源”,可用于使用日志数据,包括从文件、目录、队列系统中读取,甚至接受来自TCP/UDP/HTTP的传入数据。使用它,您可以在多个主机上设置Flume,以并行化数据聚合。
Apache http://sqoop.apache.org/ -设计用于从结构化数据存储(如关系数据库)批量加载。Sqoop使用连接器将数据连接、结构和加载到HDFS。内置的一个可以连接到任何符合JDBC 4规范的东西。
500 to的数据是需要加载的大量数据,但是如果使用Sqoop和/或Flume在多个系统和格式中传播数据,则应该可以比较快地完成工作。
https://stackoverflow.com/questions/31075189
复制相似问题