大数据基础知识入门
Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。 Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题。 Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数 据集操作类型,编程模型比Hadoop MapReduce更灵活。 Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制,因此 Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
2. Google AlphaGo 第一个战胜围棋世界冠军的人工智能机器人。 结合了3大块技术:先进的搜索算法、机器学习算法 (即强化学习),以及深度神经网络。
1、根据当前盘面已经落子的情况提取相应特征;
2、利用策略网络估计出棋盘其他空地的落子概率;
3、根据落子概率来计算此处往下发展的权重,初始值为落子概
数据分析
数据分析:主要利用分布式数据 库,或者分布式计算集群来对存 储于其内的海量数据进行普通的 分析和分类汇总等,以满足大多 数常见的分析需求。
推荐书籍:
《谁说菜鸟不会数据分析(入门篇)》 《Spark快速大数据分析》 《社交网站的数据挖掘与分析》
数据建模和人工智能
数据建模:建模是指把具体问题抽象成为某一类问题并用数学模型表示,是应用于工 程、科学等各方面的通用方法,是一种对现实世界的抽象总结。 人工智能:在广义上,人工智能(AI)是指由人工制造出的智能机器,是一种能够学习 的计算机程序,可代替人类去解决需要人类智慧才能解决的问题。
Hadoop之父Doug Cutting
Hadoop技术介绍
Hadoop的架构
Cloudera Manger
大数据集群管理方式
分 为 手 工 方 式 ( Apache
hadoop)和工具方式(Ambari +
hdp 和 Cloudera Manger +
CDH)
Ambari 和 Cloudera
Manger都是基于Web的工具,支持
Apache Hadoop集群的供应、管理
和 监 控 。 支 持 大 多 数 Hadoop 组
件 , 包 括 HDFS 、 MapReduce 、
Spark 、 Hive 、 Pig 、 Hbase 、
Zookeper、Sqoop等
HDFS
HDFS ( Hadoop Distributed File System ) 是 Hadoop项目的核心组件之一,是分布式计算中数据存储 管理的基础,是基于流数据模式访问和处理超大文件的 需求而开发的,可以运行于廉价的商用服务器上。它所 具有的高容错、高可靠性、高可扩展性、高吞吐率等特 征为海量数据提供了不怕故障的存储,为超大数据集的 应用处理带来了很多便利。主要包含NameNode(用来管理 文件系统的命名空间)和DataNode(文件系统中真正存储 数据的地方)
HBase
HBase 是 Google bigTable 的 开 源 版本,是Hadoop的数据库,是建立在hdfs 之上,被设计用来提供高可靠性,高性 能、列存储、可伸缩、多版本,的Nosql 的分布式数据存储系统,实现对大型数据 的实时,随机的读写请求。
Hbase特点: •大 • 列存储 • 稀疏性 • 多版本 • 高性能
率本身(如0.18)。实际情况可能是一个以概率值为输入的函数。
4、利用价值网络和快速走棋网络分别判断局势,两个局势得分
相加为此处最后走棋获胜的分。
5、利用第四步计算的得分来更新之前那个走棋位置的权重(如从
0.18变成了0.12);此后,从权重最大的0.15那条边开始继续搜
索和更新。
谢谢观看
2003-2006年,Google提出了三大关键技术来解决大规模数据的存 储和处理: GFS、MapReduce、BigTable并称Google大数据的三驾马 车。虽然Google没有公布这三个产品的源码,但是他发布了这三个 产品的详细设计论文,奠定了风靡全球的大数据的基础!
Hadoop的起源
大数据基础知识入门
社会保障事业部 张火磊
主要内容
01 大数据概念、特性、由来
02 Hadoop技术介绍
03
大数据价值
04 大数据应用举例
大数据概念、特性、由来
什么叫大数据?
麦肯锡全球研究所给出的定义是:一 种规模大到在获取、存储、管理、分 析方面大大超出了传统数据库软件工 具能力范围的数据集合,具有海量的 数据规模、快速的数据流转、多样的 数据类型和价值密度低四大特征。
受此启发的Doug Cutting等人用2 年的业余时间实现了GFS和MapReduce机制。 2005年,Hadoop作为Lucene的子项目Nutch 的一部分正式引入Apache基金会。2006年2 月被分离出来,成为一套完整独立的软件, 起名为Hadoop。
总结起来,Hadoop起源于Google的三大论文 GFS—->HDFS Google MapReduce—->Hadoop MapReduce BigTable—->HBase
举例:如果想统计下过去10年计算机论文出现 最多的几个单词 传统方法:首先写一个遍历论文的程序,部署 到N台机器上去,然后把论文集分成N份,一台 机器跑一个作业。这个方法从理论上可以实 现,但是部署起来很麻烦,我们要人工把程序 copy到别的机器,要人工把论文集分开,最后 还要把N个运行结果进行整合。
Spark简单工作流程
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数 据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。
val spark = new SparkContext(master, appName, [sparkHome], [jars]) val file = sc.textFile("hdfs://...") val word = file.flatMap(_.split(",")) val wordOne = word.map((_,1)) val wordCounts = wordOne.reduceByKey(_+_) wordCounts.saveAsTextFile("hdfs://...")
HBase VS Oracle
HBase应用场景
人员画像: 用Hbase集群来存储用户的数
据,使用rowkey快速检索方式来构 建查询。rowkey基于用户身份证号 码设计,因为每个人的社会保障号 +姓名是唯一的,再根据用户不同 维度的信息给用户打标签,到最后 展示在页面上。
HIVE 数据仓库
大数据的特性
• 大量(Volume) • 多样(Variety) • 快速(Velocity) • 价值(Value)
大数据技术的由来
自 2002 年 数 字 时 代 开 启 以 来,数据呈现海量增长趋势(如图 所示)。特别是在2004年社交媒体 产生后,数据更是呈现爆炸性增 长趋势.
随着数据的增长,尤其数据 达 到 PB 级 以 后 , 数 据 的 存 储 和 分 析都会变得非常困难。
Hive 是 建 立 在 Hadoop 上 的数据仓库基础架构。它提 供了一系列的工具,用来进 行数据提取、转换、加载, 这是一种可以查询和分析存 储 在 Hadoop 中大规模数据的 机制。 Hive 定义了简单的 类 SQL 查 询 语 言 , 称 为 HQL,它允许熟悉 SQL 的用 户查询数据。
MapReduce
MapReduce是一个高性能的批处理分布式 计算框架,用于对海量数据进行并行分析和处 理。MapReduce采用"分而治之"的思想,把对大 规模数据集的操作,分发给一个主节点管理下 的各个分节点共同完成,然后通过整合各个节 点的中间结果,得到最终结果。简单地说, MapReduce就是"任务的分解与结果的汇总"。
HIVE与关系型数据库对比
Solr
Solr是一个高性能,基于Lucene的全 文搜索服务。同时对其进行了扩展, 提 供 了 比 Lucene 更 为 丰 富 的 查 询 语 言,同时实现了可配置、可扩展并对 查询性能进行了优化,并且提供了一 个完善的功能管理界面,是一款非常 优秀的全文搜索引擎。
大数据的价值
大数据的价值
数据,已经渗透到当今每一个行业和业务职能 领域,成为重要的生产因素。人们对于海量数据的挖 掘和运用,预示着新一波生产率增长和消费者盈余浪 潮的到来。
大数据的关键点不在大,而在于有用。大数 据思维首先需要能够充分理解数据所蕴含的价值,并 且知道如何利用大数据,让它为企业的经营决策提供 依据。也就是通过数据处理创造商业价值。
挖掘大数据价值的三个层面 1.数据预处理 2.数据分析 3.数据建模和人工 智能
数据预处理
采集到的数据大体上都是不完整,不一致的脏数据,无法直接 进行数据挖掘或挖掘结果无法满足需求。通过数据预处理工作,可以 使残缺的数据完整,并将错误的数据纠正、多余的数据去除,进而将 所需的数据挑选出来,并且进行数据集成。数据预处理的常见方法有 数据清洗、数据集成与数据变换等。由于获得的数据规模太过庞大, 数据不完整、重复、杂乱,在一个完整的数据挖掘过程中,数据预处 理要花费60%左右的时间。
Spark
优点: 运行速度快:使用DAG执行引擎以支持循环数据流与内存计算 容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell 进行交互式编程 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和 图算法组件 运行模式多样:可运行于独立的集群模式中 ,可运行于Hadoop中,也可运行于 Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据 源