hadoop的发☃展及原理
hadoop的发展及原理
Hadoop的发展历史
2004年— 最初的版本(现在称为HDFS和MapReduce)由Doug Cutting和Mike Cafarella开始实施。
2005年12月— Nutch移植到新的框架,Hadoop在20个节点上稳定运行。
2006年1月— Doug Cutting加入雅虎。
2006年2月— Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。
2006年2月— 雅虎的网格计算团队采用Hadoop。
2006年4月— 标准排序(10 GB每个节点)在188个节点上运行47.9个小时。
…………
Hadoop的工作原理是:
Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存储 Hadoop 集♛群中所有存储节点上的文件。HDFS(对于本文)的上一层是MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。………
hive查询语言和sql的区别
Hive是建立在 Hadoop 上的数据仓库基础构架。
它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。Hive 采用类SQL 的查询,将SQL 查询转换为MapReduce 的job 在Hadoop集群上执行
如何使用Hadoop的Distribut
操作步骤:1.将数据的分发到每个节点上:DistributedCache.addCacheFile(new URI(":9000/user/hadoop/mrinput/ST.txt"), conf);注意,此操作一定要在创建Job,将conf传递给Job之前进行,否则数据文件的路径不会被Mapper中取到。2.在每个Mapper中获取文件URI,再进行相关操作: URI[] uris=DistributedCache.getCacheFiles(context.getConfiguration()); 比如读取该文件: FileSystem fs = FileSystem.get(URI.create(":9000"), context.getConfiguration()); FSDataInputStream in = null; in = fs.open(new Path(uris[0].getPath())); BufferedReader br=new BufferedReader(new InputStreamReader(in));hadoop中的DistributedCache 2WordCount.javaHadoop的分布式缓存机制使得一个job的所有map或reduce可以访问同一份文件。在任务提交后,hadoop将由-files和-archive选项指定的√文件复制到HDFS上(JobTracker的文件系统)。在任务运行前,TaskTracker从JobTracker文✍☚☛☟✌件系统复制文件到本地磁盘作为缓存,这样任务就可以访问这些文件。对于job来说,它并不关心文件是从哪儿来的。在使用DistributedCache时,对于本地化文件的访问,通常使用Symbolic Link来访问,这样更方便。通过 URI #myfile 指定的文件在当前工作目录中被符号链接为myfile。这样job里面可直接通过myfile来访问文件,而不用关心该文件在本地的具体路径。
spark执行引擎是什么
Apache Spark 是专为大规模 数据处理而设计的快❤速通用的计算引擎。Spark是UC Berkeley AMP lab ( 加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算卐法。
原创文章,作者:Ame,如若转载,请注明出处:https://www.lbseo.cn/13244.html