[Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想

Ubuntu系统 (我用到版本号是140.4)java

ubuntu系统是一个以桌面应用为主的Linux操做系统,Ubuntu基于Debian发行版和GNOME桌面环境。Ubuntu的目标在于为通常用户提供一个最新的、同时又至关稳定的主要由自由软件构建而成的操做系统,它可无偿使用,并带有社团及专业的支持应。编程

做为Hadoop大数据开发测试环境, 建议你们不要在windows上安装CgyWin来学习或研究, 直接用Vmware+ubuntu来学习。ubuntu

下载 www.vmware.com这里下载vmware, www.ubuntu.com这里下载ubuntu。windows

 

Hadoop介绍(我用到版本号是1.2.1)服务器

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户能够在不了解分布式底层细节的状况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特色,而且设计用来部署在低廉的(low-cost)硬件上;并且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,能够以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。架构

 

MapReduce编程思想并发

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的状况下,将本身的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证全部映射的键值对中的每个共享相同的键组。框架

 

Hadoop能作什么?编程语言

不少人或许没接触过大量数据的开发,例如一个网站日访问量达几千万以上, 网站服务器会产生大量的各类日志, 某天上班老板问我想要统计一下什么区域的人访问网站最多, 具体数据大概是多少? 我曾经在一个Hadoop群里提问过, 不少人说我写个程序就能实现, 有人说我本身写一个分布式的系统来专门计算。 能本身写一个出来固然能证实你的能力, 但某一天老板又问我想知道什么年龄段的人访问最多, 难道又写一个分布式的系统来计算? 这是浪费人力物力的事情。 并且就算写得很完美, 也没通过市场用户的考查, 存在不肯定性。 hadoop就彻底能够帮你实现各方面的问题, 本身只须要编写一些特定的java业务流程代码就能够, 稳定又能够不断的随着业务与数据的增大而扩大。hadoop经常使用在数据统计方面, 例如在几十G文件中统计某一个单词出现几回, 在无数个数字当中查找最大的值,经过你的程序收集的日志统计出各方营销的数据,帮助你实现市场定位与推广方向。分布式

相关文章
相关标签/搜索