Big Data是近来的一个技术热点,但从名字就能判断出来它并不是什么新词。毕竟,大匙一个相对概念。历史上,数据库、数据仓库、数据集市等信息管理领域的技术,很大程度上也是为了解决大规模数据的问题。被誉为数据之父的Bill Inmon早在20世纪90年代就经常将Big Data挂在嘴边了。要处理如此庞大的数据,它的基本流程如下图。
由于很少看到学习大数据的知识图谱,所以这里斗胆分享一家之言。同时,大数据有很多细分领域,这里特指通过分布式技术在海量数据中了解并分析过去发生了什么(what happened)、为什么会发生(why did it happen)、正在发生什么(what is happening),而预测将来会发生什么(what will happen)的高级分析往往基于机器学习和数据挖掘,值得将来独立成章深入讨论,暂且不表。
回复 ( 10 )
以下为网上找的资料,目测也是知乎曾经的回答。
Hadoop大数据学习线路图
入门知识
对于我们新手入门学习hadoop的朋友来说,首先了解一下云计算和云计算技术是有必要的。下面先是介绍云计算和云计算技术的:
云计算,是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备,主要是基于互联网的相关服务地增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务地交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算也可作为一种商品通过互联网进行流通。
什么是云计算?
什么是云计算技术?
在世界上云计算已经大面流行,有很流行的Google、Drive、SkyDrive、Dropbox、亚马逊云服务等等。在国内百度云存储、360云存储都是比较流行的。
我们接下来就应该会想到大数据存储,目前开源市场上最流行的应该是hadoop分布式存储,已经有大部分互联网公司已经开始使用,例如百度、360、阿里巴巴,其中一部分公司已经把hadoop作为他们的核心产品例如英特尔、IBM并为部分工作提供过大数据的解决方案,
大家可以了解一下英特尔在不行业提供的解决方案:
· 面向智能交通的大数据和英特尔® 智能系统解决方案
· 物联网商机和技术挑战(英特尔)
· 大数据在医疗行业的应用
· 英特尔IT开源混合云
Hadoop基础
Hadoop是一个能够对大量数据进行分布式处理的软件框架,它是一种技术的实现,是云计算技术中重要的组成部分,云计算的概念更广泛且偏向业务而不是必须拘泥于某项具体技术,云计算的存在只是一种新的商业计算模型和服务模式。因此,云计算才会出现“横看成岭侧成峰,远近高低各不同”,各种各样层出不穷的理解。
对于初学hadoop的朋友来说可能基于迫切寻找一本入门的书,我个人觉得不用于急于寻找书,先了解hadoop是否做什么、它能做什么、能带来什么 hadoop使用场景、Hadoop到底能做什么?怎么用hadoop?,当大家对这些有所了解,就会如何入手学习hadoop接下来大家应该进行系统性的学习hadoop了,我个人建议不要盲目的去搭建hadoop环境,熟悉了解hadoop基本知识及其所需要的知识例如java基础、linux环境、linux常用命令,它相关产品及其衍生产品,他们之间是什么关系如何工作,每个产品它们的特点是什么,
下面是hadoop一些基本知识:
1 hadoop HDFS文件系统的特征
存储极大数目的信息(terabytes or petabytes),将数据保存到大量的节点当中。支持很大单个文件。
提供数据的高可靠性,单个或者多个节点不工作,对系统不会造成任何影响,数据仍然可用。
提供对这些信息的快速访问,并提供可扩展的方式。能够通过简单加入更多服务器的方式就能够服务更多的客户端。
HDFS是针对MapReduce设计的,使得数据尽可能根据其本地局部性进行访问与计算。
2 Hadoop简介(1):什么是Map/Reduce
3 Mapreduce 整个工作机制图
4 Hadoop mapper类的阅读
5 Hadoop reducer类的阅读
6 Mapreduce shuffle和排序
上面这些都是hadoop核心部分,当这些有所了解后,大家基本上可以具备大家hadoop环境的条了。hadoop部署方式为单机模式、伪分布式、完全分布式。对单机模式大家可以不用去关心和学习,在学习中我个人建议是搭建伪分布式,完全分布式是生产环境中使用,当大家把伪分布式后,必须对完全分布式有所了解,知道是如何工作的,也可以试着搭建hadoop的完成分布式。现在hadoop已经发行了最新的2.2.x版本,但是不测试不够全面不够稳定,大家应该选择比较稳定的版本学习,因为在公司中还是会使用稳定的版本,2.2.x版本中一些处理机制和方案是值得我们学习的,需要有所了解的是, Hadoop 各个发布版的特性以及稳定性。
下面是搭建hadoop的安装步骤:
搭建伪分布式:hadoop 伪分布式搭建 完全分布式:hadoop 三节点集群安装配置详细实例
大家这些有了基础性的学习后,这时候是比较适合找本书来系统性的学习hadoop。
· Hadoop权威指南(第2版) 分享地址:http://pan.baidu.com/s/1iNuj 密码:ywwh
· hadoop相关文档下载 链接: http://pan.baidu.com/s/1gdwtu1t 密码: slml
有一点想提醒初学的朋友,在学习hadoop开发的时候不要使用hadoop eclipse插件,这样会给你带来不必要的问题,你可以在eclipse使用maven工具下载hadoop资源包,然后写好mapreduce代码打包后传上自己的服务,使用命令启动运行。
Hadoop家族产品
截止到2013年,根据cloudera的统计,Hadoop家族产品已经达到20个!
Apache Hadoop in 2013: The State of the Platform
QQ截图20140425120600
接下来,我把这20个产品,分成了2类。
第一类,是我已经掌握的
第二类,是TODO准备继续学习的
HadoopFamilySmall
一句话产品介绍:
Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。
Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Apache Pig: 是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
Apache HBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
Apache Sqoop: 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务
Apache Mahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。
Apache Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身
Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制
Apache Ambari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。
Apache Chukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。
Apache Hama: 是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
Apache Flume: 是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。
Apache Giraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
Apache Oozie: 是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapReduce)的任务。
Apache Crunch: 是基于Google的FlumeJava库编写的Java库,用于创建MapReduce程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库
Apache Whirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。
Apache Bigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。
Apache HCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。
Cloudera Hue: 是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。
Hadoop家族学习路线图
下面我将分别介绍各个产品的安装和使用,以我经验总结我的学习路线。
Hadoop
Hadoop学习路线(参考Hadoop基础)
Yarn学习路线图
用Maven构建Hadoop项目
Hadoop历史版本安装
Hadoop编程调用HDFS
海量Web日志分析 用Hadoop提取KPI统计指标
用Hadoop构建电影推荐系统
创建Hadoop母体虚拟机
克隆虚拟机增加Hadoop节点
R语言为Hadoop注入统计血脉
RHadoop实践系列之一 Hadoop环境搭建
Hive
Hive学习路线图
Hive安装及使用攻略
Hive导入10G数据的测试
R利剑NoSQL系列文章 之 Hive
用RHive从历史数据中提取逆回购信息
Pig
Pig学习路线图
Zookeeper
Zookeeper学习路线图
ZooKeeper伪分步式集群安装及使用
ZooKeeper实现分布式队列Queue
ZooKeeper实现分布式FIFO队列
HBase
HBase学习路线图
RHadoop实践系列之四 rhbase安装与使用
Mahout
Mahout学习路线图
用R解析Mahout用户推荐协同过滤算法(UserCF)
RHadoop实践系列之三 R实现MapReduce的协同过滤算法
用Maven构建Mahout项目
Mahout推荐算法API详解
从源代码剖析Mahout推荐引擎
Mahout分步式程序开发 基于物品的协同过滤ItemCF
Mahout分步式程序开发 聚类Kmeans
用Mahout构建职位推荐引擎
Sqoop
Sqoop学习路线图
Cassandra
Cassandra学习路线图
Cassandra单集群实验2个节点
R利剑NoSQL系列文章 之 Cassandra
Hadoop课程资源
《十节课带你走进hadoop世界》
《Hadoop从入门上手工作》
《hadoop之DataGuru视频》
《Hadoop数据分析》
《云计算hadoop实战视频》
《Cloudera Hadoop课程培训》
《大数据战略规划班》
谢邀!
作者你的问题看似简单,却真的挺复杂的,因为这涉及到的是一个领域,而不是一个细分的知识点,你要是说学习R语言的学习路径是什么,回答就更容易了。
我个人的建议,是到coursera、EDX等MOOC平台先把基础知识学全,再去一些在线编程网站上实操,然后还得在岗位上去历练。
下面这些文章是我根据你问他搜集整理的,希望对大家能够有帮助。
【荐读】10本书看懂大数据与大未来
【推荐】9个针对初学者的数据科学公开课
自学成才的数据科学家告诉你 5个学习大数据的正确姿势!
一文读懂R语言是什么鬼
这四篇文章或许对你能够有所帮助,我们数据客的微信后台还有很多类似的文章,但是确实没有时间来整理,你可以通过历史记录查看。我们的微信公众号ID:idacker 里面有我个人号直通车,你也可以加我私人号:guziaiqiutian拉进校友群大家一起交流学习,加群的时候请简单介绍并备注加群。
coursera已经出了专项课程了,9月28号开始,组队学吧~~
服务于需求
通过bussiness intellegence和machine learning
但是是分布式处理
我不是做大数据的,但进入一个新技术领域的学习路径都类似的
Big Data是近来的一个技术热点,但从名字就能判断出来它并不是什么新词。毕竟,大匙一个相对概念。历史上,数据库、数据仓库、数据集市等信息管理领域的技术,很大程度上也是为了解决大规模数据的问题。被誉为数据之父的Bill Inmon早在20世纪90年代就经常将Big Data挂在嘴边了。要处理如此庞大的数据,它的基本流程如下图。
数据抽取与集成
● 大数据的一个重要特点就是多样性,这就意味着数据来源极其广泛,数据类型极为繁杂。这种复杂的数据环境给大数据的处理带来极大的挑战。
● 要想处理大数据,首先必须对所需数据源的数据进行抽取和集成,从中提取出关系和实体,经过关联和聚合之后采用统一定义的结构来存储这些数据。
● 在数据集成和提取时需要对数据进行清洗,保证数据质量及可信性。
● 现有的数据抽取与集成方式可以大致分为以下四种类型:数据整合、数据联邦、数据传播和混合方法等。
数据分析
● 传统的分析技术如数据挖掘、机器学习、统计分析等在大数据时代需要做出调整,因为这些技术在大数据时代面临着一些新的挑战:
1、数据量大并不一定意味着数据价值的增加,相反这往往意味着数据噪音的增多
2、大数据时代的算法需要进行调整(邦弗朗尼原理)
3、数据量大并不一定意味着数据价值的增加,相反这往往意味着数据噪音的增多
数据解释
● 数据分析是大数据处理的核心,但是用户往往更关心结果的展示。如果分析的结果正确但是没有采用适当的解释方法,则所得到的结果很可能让用户难以理解,极端情况下甚至会误导用户。
● 大数据时代的数据分析结果往往也是海量的,同时结果之间的关联关系极其复杂,采用传统的解释方法基本不可行
● 可以考虑从下面两个方面提升数据解释能力:
— 引入可视化技术
— 让用户能够在一定程度上了解和参与具体的分析过程
然而,Big Data作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展。无所不在的移动设备、RFID、无限传感器每分每秒都在产生数据,数以亿计用户的互联网服务时时刻刻在产生巨量的交互……要处理的数据量实在是太长、增长太快了,而业务需求和竞争压力对数据处理的实时性、有效性又提出了更高要求,传统的常规技术手段根本无法应付。在这种情况下,技术人员纷纷研发和采用了一批新技术。
01
存储
存储分布式缓存、基于MPP的分布式数据库、分布式文件系统、各种NoSQL分布式存储方案,内存数据库等
02
计算
Map Reduce、流计算、图计算……
03
应用
HIVE,pig,mahout,Sqoop以及ETL工具,统计与报告工具等
下面以Google为例,我们来看看它的技术演进
Google 于2006 年首先提出了云计算的概念,并研发了一系列云计算技术和工具。难能可贵的是Google 并未将这些技术完全封闭,而是以论文的形式逐步公开。
正是这些公开的论文,使得以GFS、MapReduce、Bigtable为代表的一系列大数据处理技术被广泛了解并得到应用,同时还催生出以Hadoop为代表的一系列云计算开源工具。这些工具有些是完整的处理平台,有些则是专门针对特定的大数据处理应用。
现金一些主流的处理平台和工具
就实践方面来说,Hadoop 已经发展成为目前最为流行的大数据处理平台
Hadoop是一个分布式系统基础架构,由Apache基金会开发。
Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,借助于Hadoop,程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。
Hadoop采用了分布式存储方式,提高了读写速度,并扩大了存储容量。采用MapReduce来整合分布式文件系统上的数据,可保证分析和处理数据的高效。与此同时,Hadoop还采用存储冗余数据的方式保证了数据的安全性。
Hadoop作用
Hadoop中HDFS的高容错特性,以及它是基于Java 语言开发的,这使得Hadoop可以部署在低廉的计算机集群中,同时不限于某个操作系统。Hadoop中HDFS的数据管理能力,MapReduce处理任务时的高效率,以及它的开源特性,使其在同类的分布式系统中大放异彩,并在众多行业和科研领域中被广泛采用。
Hadoop功能
Hadoop优点
●可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。
●经济:框架可以运行在任何普通的PC上。
●可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本数)
●高效:分布式文件系统的高效数据交互实现以及MapReduce结合Local Data处理的模式,为高效处理海量的信息作了基础准备。
Hadoop生态系统图
谢谢阅读!
后面睡觉的同学可以起来了!下课了!下课了!
欲知后事如何,且听下回分解!
欲知更多详情,俺老孙等你来约!
8月20日线下分享会,如果你还有疑问,我们会等你~
由于知乎排版不给力,这里只能黏贴节选,完整的请点击:大数据修炼之道 – 数据工会。
大数据专家是怎样炼成的?
由于很少看到学习大数据的知识图谱,所以这里斗胆分享一家之言。同时,大数据有很多细分领域,这里特指通过分布式技术在海量数据中了解并分析过去发生了什么(what happened)、为什么会发生(why did it happen)、正在发生什么(what is happening),而预测将来会发生什么(what will happen)的高级分析往往基于机器学习和数据挖掘,值得将来独立成章深入讨论,暂且不表。
在成为大数据专家的道路上,往往要经历六个坎坷,让我们以六个年级来标明他们。只有战胜眼前的坎坷,才能升入下一个年级。当然,有些如Doug Cutting或者Jeff Dean等天才同学,无师自通可以连跳好几级偶尔也是有的。
一年级
第一个年级要学习的是理论。所有想成为大数据专家的人,必须先要阅读一些经典的大数据理论知识,包括Schönberger的《大数据时代》和涂子沛的《大数据》等,只有在积累了大量的理论知识后,你才能跨入下一个年级。但这个年级有一个很特殊的规定,因为有些同学动手能力超强,所以他们可以跳过这个年级直接进入实战去感悟这些理论。
二年级
第二个年级学习的内容是实践,也就是用大数据产品完成一些简单目标。费尔巴哈说过,理论所不能解决的那些疑难,实践会给你解决。 纸上得来终觉浅,绝知此事要躬行。
三年级
第三个年级学习的内容是实战,这是极为重要的。那些理论学习中的优秀学生如果不能过这一关,他们就将获得一个光荣的成就——纸上谈兵。
我们来解释一下为什么实战如此重要。虽然大数据理论都是高年级的学长们经验总结,但他们写这些东西的时候情况和现状是不完全一样的,在实战中如果照搬是要吃大亏的。作为一个想成为大数据专家的学员,一般都是从项目干起,因为只有项目才能让一个人成为真正的专家,必须亲密与客户交流澄清需求细节,亲手敲打键盘架构大数据平台,亲身经历运维不知白昼与黑夜,明白无法交付项目是要饿肚子的,了解不能运维是要挨客户骂的,他们才会明白什么是实战。
大多数学员会在这一关被淘汰,他们会改行,一生当一个大数据票友,这对他们来说并不见得是一件坏事。而留存下来的那些学员,在残酷的项目实战中逐渐了解了大数据的规律,开始真正走上专家之路。
四年级
好了,我们带领剩下的学员来到四年级,四年级需要学习的是结合大数据与云计算。
云计算为大数据提供无尽的资源,大数据为云计算带来数据服务。大数据与云计算的关系好比倚天与屠龙,单独使用已然是神兵利器,结合起来更能得到《九阴真经》、《降龙十八掌》和《武穆遗书》。
云计算平台上的大数据服务大致分两种:
当然,有的云计算平台提供了开源大数据软件的托管服务,即降低了授权费用又不用操心运维。百度云天算大数据平台就是一个例子。
这就是四年级学员要做到的。能过这一关的人已经很少了,剩下的精英们,我们继续前进!
五年级
五年级是最重要的一个年级,在这个年级里,学员们要学习的是判断。你要明白的是,你所掌握的是项目的成败,你就是指挥,而所有的人都等着你拿注意。如果你能从那变化莫测的架构和纷繁芜杂的技术中发现其中的奥妙,并就此做出正确的决断,那么恭喜你,你已经具备了大数据专家最主要的素质。
判断并非无据可依。德国有种智慧,叫做生活是具体的,也就是提倡不要泛泛地谈概念,关键是要拿出来比一比。归类后的大数据文献罗列于斯,对于不同选择的优缺点了然于胸便可以进入下一个阶段。
六年级
但是还有一关是你必须通过的,只有过了这一关,你才是真正的大数据专家。那就是,成为大数据产品经理或者大数据架构师,亲手打造一款大数据产品!有意者请把简历发我,不见不散
找一个愿意带你从0开始的大数据相关的职位,入门之后就可以自己学了
别被hadoop生态圈吓到了,它就是个大数据的存储和处理方式
推荐从零基础学习大数据:大数据工程师40天速成学习路线图(Java+Hadoop核心编程技术),包括Java基础部分,Linux部分,Hadoop课程,让学生从Java基础一步步进行学习,学会使用和深入了解大数据。
世界正从IT时代走向DT时代,未来是大数据的时代,企业最有价值的资产就是数据,你所拥有的数据越多你就越有说话权,因此未来企业里最牛逼的员工应该是和数据有关的职位,比如CDO(首席数据官)、大数据工程师等,这些职位将成为程序员又一个高薪出路。
大数据工程师就是一群“玩数据”的人,玩出数据的商业价值,让数据变成生产力。大数据和传统数据的最大区别在于,它是在线的、实时的,规模海量且形式不规整,无章法可循,因此“会玩”这些数据的人就很重要!