[Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想
2015-03-12 10:34
330 查看
Ubuntu系统 (我用到版本号是140.4)
ubuntu系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统,它可免费使用,并带有社团及专业的支持应。
作为Hadoop大数据开发测试环境, 建议大家不要在windows上安装CgyWin来学习或研究, 直接用Vmware+ubuntu来学习。
下载 www.vmware.com这里下载vmware, www.ubuntu.com这里下载ubuntu。
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文件中统计某一个单词出现几次, 在无数个数字当中查找最大的值,通过你的程序收集的日志统计出各方营销的数据,帮助你实现市场定位与推广方向。
ubuntu系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统,它可免费使用,并带有社团及专业的支持应。
作为Hadoop大数据开发测试环境, 建议大家不要在windows上安装CgyWin来学习或研究, 直接用Vmware+ubuntu来学习。
下载 www.vmware.com这里下载vmware, www.ubuntu.com这里下载ubuntu。
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文件中统计某一个单词出现几次, 在无数个数字当中查找最大的值,通过你的程序收集的日志统计出各方营销的数据,帮助你实现市场定位与推广方向。
相关文章推荐
- hadoop编程入门学习笔记-3 开发MapReduce程序
- 【Hadoop入门学习系列之四】MapReduce 2.0应用场景和原理、基本架构和编程模型
- Hadoop MapReduce编程 API入门系列之二次排序(十六)
- Hadoop MapReduce编程 API入门系列之Crime数据分析(二十五)(未完)
- Hadoop MapReduce编程 API入门系列之网页流量版本1(二十一)
- Ubuntu系统下的Hadoop集群(4)_使用Eclipse编译运行MapReduce程序
- Ubuntu/Linux入门介绍(04)-Ubuntu系统目录结构
- Hadoop MapReduce编程 API入门系列之MapReduce多种输入格式(十七)
- Hadoop MapReduce编程 API入门系列之挖掘气象数据版本3(九)
- Hadoop MapReduce编程 API入门系列之倒排索引(二十四)
- Hadoop MapReduce编程 API入门系列之mr编程快捷键活用技巧详解(四)
- Hadoop MapReduce编程 API入门系列之wordcount版本5(九)
- Hadoop MapReduce编程 API入门系列之wordcount版本1(五)
- Hadoop MapReduce编程 API入门系列之统计学生成绩版本2(十八)
- 大数据之hadoop伪集群搭建与MapReduce编程入门
- hadoop之mapreduce编程实例(系统日志初步清洗过滤处理)
- Hadoop MapReduce编程 API入门系列之wordcount版本3(七)
- Hadoop MapReduce编程 API入门系列之wordcount版本4(八)
- Hadoop MapReduce编程 API入门系列之网页流量版本1(二十二)
- Hadoop MapReduce编程 API入门系列之MapReduce多种输出格式分析(十九)