全部科目 > 系统规划与管理师 >
2020年下半年 上午试卷 综合知识
第 12 题
知识点 大数据   大数据概念及关键技术   数据采集  
章/节 新一代信息技术  
 
 
(12)应用于大数据数据采集阶段。
 
  A.  MapReduce
 
  B.  HDFS
 
  C.  ETL
 
  D.  HBase
 
 




 
 
相关试题     大数据 

  第15题    2022年上半年  
关于大数据的特征,表述有误的是()。

  第22题    2017年下半年  
以下关于大数据的叙述中,不正确的是( )。

  第12题    2018年上半年  
关于大数据的叙述中,不正确的是()

 
知识点讲解
· 大数据
· 大数据概念及关键技术
· 数据采集
 
        大数据
               大数据概念及关键技术
               (1)大数据的概念。早在20世纪的1980年,著名未来学家阿尔文·托夫勒便在《第三次浪潮》一书中,将“大数据”热情地赞颂为“第三次浪潮的华彩乐章”。2008年9月《科学》(Science)杂志发表了一篇文章“BigData:Science in the Petabyte Era”。“大数据”这个词开始被广泛传播。目前国内外的专家学者对大数据只是在数据规模上达成共识:“超大规模”表示的是GB级别的数据,“海量”表示的是TB级的数据,而“大数据”则是PB级别及其以上的数据。
               2011年5月,在“云计算相遇大数据”为主题的EMC World 2011会议中,EMC抛出了大数据(Big Data)概念。
               大数据的来源包括网站浏览轨迹、各种文档和媒体、社交媒体信息、物联网传感信息、各种程序和App的日志文件等。大数据是指无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合,其具有4V特性:体量大(Volume)、多样性(Variety)、价值密度低(Value)、快速化(Velocity)的显著特征。
               .体量大(Volume)。体量大指数据量巨大,而且非结构化数据的超大规模和增长快速,非结构化数据占总数据量的80%~90%,其增长比结构化数据快10倍到50倍。大数据处理的数据量是传统数据仓库的10倍到50倍。
               .多样性(Variety)。多样性指数据类型包括结构化数据、半结构化数据和非结构化数据,具有很多不同形式(文本、图像、视频、机器数据),这些数据无模式或者模式不明显,并且属于不连贯的语法或句义。
               .价值密度低(Value)。价值密度低指类似沙里淘金,从海量的数据里面获得对自己有用的数据,要处理大量的不相关信息。大数据同时也意味深度复杂分析,比如机器学习和人工智能,甚至可以对未来趋势与模式进行预测分析。
               .快速化(Velocity)。大数据处理的数据通常指实时获取需要的信息,进行实时分析而非批量式分析,数据处理通常立竿见影而非事后见效。
               (2)大数据关键技术。大数据所涉及的技术很多,主要包括数据采集、数据存储、数据管理、数据分析与挖掘4个环节。在数据采集阶段主要使用的技术是数据抽取工具ETL。在数据存储环节主要有结构化数据、非结构化数据和半结构化数据的存储与访问。结构化数据一般存放在关系数据库,通过数据查询语言(SQL)来访问;非结构化(如图片、视频、doc文件等)和半结构化数据一般通过分布式文件系统的NoSQL(Not Only SQL)进行存储。大数据管理主要使用了分布式并行处理技术,比较常用的有MapReduce,借助MapReduce编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。数据分析与挖掘是根据业务需求对大数据进行关联、聚类、分类等钻取和分析,并利用图形、表格加以展示,与ETL一样,数据分析和挖掘是以前数据仓库的范畴,只是在大数据中得以更好的利用。
               .HDFS。Hadoop分布式文件系统(HDFS)是适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
               .HBase。 HBase是一个分布式的、面向列的开源数据库,该技术来源于论文“Bigtable:一个结构化数据的分布式存储系统”,HBase在Hadoop之上提供了类似于Bigtable的能力。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是Hbase是基于列的而不是基于行的模式。
               .MapReduce。 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归约)”,以及它们的主要思想,都是从函数式编程语言里借来的。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上,从而实现对HDFS和HBase上的海量数据分析。
               .Chukwa。 Chukwa是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在hadoop的hdfs和map/reduce框架之上的,继承了hadoop的可伸缩性和鲁棒性。Chukwa还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。
               大数据应用
               大数据受到越来越多行业巨头们的关注,使得大数据渗透到更广阔的领域,除了电商、电信、金融这些传统数据丰富、信息系统发达的行业之外,在政府、医疗、制造和零售行业都有其巨大的社会价值和产业空间。各行业在大数据应用上的契合度如下图所示。
               
               大数据应用
               (1)互联网和电子商务行业。应用最多的是用户行为分析,主要研究对象用户在互联网、移动互联网上的访问日志、用户主体信息和外景环境信息,从而挖掘潜在客户,进行精准广告或营销。例如某电商通过用户对产品浏览信息的分析,得到大约10%的用户会在浏览该产品一周后下单,从而在该城市的物流中心进行备货,大大提高发货速度,降低仓库成本。用户日志一般包括下列几类数据:
               .网站日志:用户在访问某个目标网站时,网站记录的用户相关行为信息;
               .搜索引擎日志:记录用户在该搜索引擎上的相关行为信息;
               .用户浏览日志:通过特定的工具和途径记录用户所浏览过的所有页面的相关信息,如浏览器日志、代理日志等;
               .用户主体数据:如用户群的年龄、受教育程度、兴趣爱好等;
               .外界环境数据:如移动互联网流量、手机上网用户增长、自费套餐等。
               (2)电信/金融。通过对用户的通信、流量、消费等信息进行分析,判断用户的消费习惯和信用能力,可以给用户设计更贴合的产品,提升产品竞争力。
               (3)政府。首先政府通过对大数据的挖掘和实时分析,可有效提高政府决策的科学性和时效性,并且能帮助政府有效削减预算开支。其次借助大数据可以使政府变得更加开放、透明和智慧。大数据可以使政府更清楚地了解公民的意愿和想法,可以提升公民的价值,还可以通过引导社会的舆论,为社会公众提供更好的服务,树立更好的政府形象。
               (4)医疗。例如,某互联网公司“流感趋势”项目深受相关研究人员的欢迎,它依据网民搜索内容分析全球范围内流感等病疫传播状况,与美国疾病控制和预防中心提供的报告进行比对,事实证明两者有很大关联。社交网络为许多患者提供临床症状交流和诊治经验分享的平台,医生借此可获得在医院通常得不到的临床效果统计数据。
               (5)制造。从前的制造业通常以产品为导向,以降低生产成本来决定制造业的生存和发展。而如今如果继续以这种理念来维持企业的发展,必将导致制造业的暗淡。越来越多的制造业早已明白,个性化定制将是发展的趋势,所以制造业需要处理好大数据,通过对海量数据的获取,挖掘和分析,把握客户的需求,从而交付客户喜欢的产品。
 
        大数据概念及关键技术
        (1)大数据的概念。早在20世纪的1980年,著名未来学家阿尔文·托夫勒便在《第三次浪潮》一书中,将“大数据”热情地赞颂为“第三次浪潮的华彩乐章”。2008年9月《科学》(Science)杂志发表了一篇文章“BigData:Science in the Petabyte Era”。“大数据”这个词开始被广泛传播。目前国内外的专家学者对大数据只是在数据规模上达成共识:“超大规模”表示的是GB级别的数据,“海量”表示的是TB级的数据,而“大数据”则是PB级别及其以上的数据。
        2011年5月,在“云计算相遇大数据”为主题的EMC World 2011会议中,EMC抛出了大数据(Big Data)概念。
        大数据的来源包括网站浏览轨迹、各种文档和媒体、社交媒体信息、物联网传感信息、各种程序和App的日志文件等。大数据是指无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合,其具有4V特性:体量大(Volume)、多样性(Variety)、价值密度低(Value)、快速化(Velocity)的显著特征。
        .体量大(Volume)。体量大指数据量巨大,而且非结构化数据的超大规模和增长快速,非结构化数据占总数据量的80%~90%,其增长比结构化数据快10倍到50倍。大数据处理的数据量是传统数据仓库的10倍到50倍。
        .多样性(Variety)。多样性指数据类型包括结构化数据、半结构化数据和非结构化数据,具有很多不同形式(文本、图像、视频、机器数据),这些数据无模式或者模式不明显,并且属于不连贯的语法或句义。
        .价值密度低(Value)。价值密度低指类似沙里淘金,从海量的数据里面获得对自己有用的数据,要处理大量的不相关信息。大数据同时也意味深度复杂分析,比如机器学习和人工智能,甚至可以对未来趋势与模式进行预测分析。
        .快速化(Velocity)。大数据处理的数据通常指实时获取需要的信息,进行实时分析而非批量式分析,数据处理通常立竿见影而非事后见效。
        (2)大数据关键技术。大数据所涉及的技术很多,主要包括数据采集、数据存储、数据管理、数据分析与挖掘4个环节。在数据采集阶段主要使用的技术是数据抽取工具ETL。在数据存储环节主要有结构化数据、非结构化数据和半结构化数据的存储与访问。结构化数据一般存放在关系数据库,通过数据查询语言(SQL)来访问;非结构化(如图片、视频、doc文件等)和半结构化数据一般通过分布式文件系统的NoSQL(Not Only SQL)进行存储。大数据管理主要使用了分布式并行处理技术,比较常用的有MapReduce,借助MapReduce编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。数据分析与挖掘是根据业务需求对大数据进行关联、聚类、分类等钻取和分析,并利用图形、表格加以展示,与ETL一样,数据分析和挖掘是以前数据仓库的范畴,只是在大数据中得以更好的利用。
        .HDFS。Hadoop分布式文件系统(HDFS)是适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
        .HBase。 HBase是一个分布式的、面向列的开源数据库,该技术来源于论文“Bigtable:一个结构化数据的分布式存储系统”,HBase在Hadoop之上提供了类似于Bigtable的能力。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是Hbase是基于列的而不是基于行的模式。
        .MapReduce。 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归约)”,以及它们的主要思想,都是从函数式编程语言里借来的。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上,从而实现对HDFS和HBase上的海量数据分析。
        .Chukwa。 Chukwa是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在hadoop的hdfs和map/reduce框架之上的,继承了hadoop的可伸缩性和鲁棒性。Chukwa还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。
 
        数据采集
        数据采集阶段的主要任务就是获取各个不同数据源的各类数据,按照统一的标准进行数据的转换、清洗等工作,以形成后续数据处理的符合标准要求的数据集。
        原始数据往往形式多样,包括:结构化数据,例如业务系统中的交易明细、操作日志等;非结构化数据,例如企业中的各种文档数据,视频、音频等数据;半结构化数据,例如Web页面的HTML文档等。而且其来源和种类也存在很大差距。
        当前的大数据处理中,数据的种类一般包括:
        .传感数据:传感数据是由感知设备或传感设备感受、测量及传输的数据。这些感知设备或传感设备实时和动态地收集大量的时序传感数据资源。传感数据种类有很多,如人身体的传感数据,网络信号的传感数据和气象的传感数据等。近年来随着物联网、工业互联网的日益发展,传感数据越来越丰富,人们也逐渐发现了其数据价值。
        .业务数据:企业业务系统在执行日常业务活动时产生的大量数据,包括设备工况、操作记录、交易流水,以及用户在使用系统时遗留下来的大量行为数据。这些数据反映了人或者物的属性、偏好,在推荐或预测系统中有很大的利用价值。
        .人工输入数据:用户通过软件人机交互等主动输入的数据,典型代表是微博、微信、抖音等系统的用户输入数据。随着互联网的不断深入,手机APP应用的不断发展,这种用户产生的数据也越来越多,越来越丰富。
        .科学数据:通过科学研究和科学实验不断搜集和汇聚的数据,一般是以电子记录或文本的形式存在。
        从大数据的来源进行划分,其种类包括:
        .企业数据:企业自建的各种业务系统,如ERP、在线交易系统、招聘系统等,也会产生各种数据集。
        .政府数据:政府信息化已发展多年,构建了很多业务数据。近年来政府也在不断地建设大数据中心,发布各种数据,包括人社、医疗、税务、工商、财务等。
        .互联网数据:互联网数据是当前大数据应用的一个重要的数据来源。互联网上存在各种应用沉淀下来的大量数据,包括门户网站、社交信息、电商网站等等。
        其中,企业数据一般属于内部数据,而政府数据、互联网数据往往属于外部数据。
        从上面大数据的分类可以看出,数据来源渠道众多,差异非常大。因此,数据采集的主要任务就是进行数据的汇聚,为后续的数据处理做好准备。这个阶段工作中主要涉及的技术包括针对内部数据的数据集成和ETL技术,针对外部数据,尤其是互联网数据的爬虫技术。
        数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有很多成熟的框架可以利用。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。
        ETL(Extract Transform Load)用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
        基本的ETL体系结构示意图如下图所示。
        
        ETL体系结构示意图
        ETL过程中的主要环节是数据抽取、数据转换和加工、数据加载。一般ETL工具中,围绕上述三个核心环节进行了功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持和统计信息等,尽量降低ETL阶段的工作强度,减少工作量。
        数据转换和加工是三个环节的重点,因为抽取的数据中往往存在各种问题,例如数据格式不一致、数据输入错误、字段不匹配、字段类型不符、数据不完整等。ETL一般以组件化的方式实现数据转换和加工。常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等,并以工作流的形式进行各种方式的组合,以满足数据转换的需求。有的ETL工具也提供脚本支持,满足用户定制化的数据转换需求。
        常用的ETL工具有三种:DataStage、Informatica PowerCenter和Kettle。
        .DataStage:IBM公司的DataStage是一种数据集成软件平台,专门针对多种数据源的ETL过程进行了简化和自动化,同时提供图形框架,用户可以使用该框架来设计和运行用于变换和清理、加载数据的作业。它能够处理的数据源有主机系统的大型数据库、开发系统上的关系数据库和普通的文件系统。
        .Informatica PowerCenter:Informatica公司开发的为满足企业级需求而设计的企业数据集成平台。可以支持各类数据源,包括结构化、半结构化和非结构化数据。提供丰富的数据转换组件和工作流支持。
        .Kettle:Kettle是一款国外开源的ETL工具,纯Java编写,可以在Windows、Linux、UNIX上运行,数据抽取高效稳定。管理来自不同数据库的数据,提供图形化的操作界面,提供工作流支持。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Kettle包括4个产品:Spoon、Pan、Chef、Kitchen。Spoon通过图形界面来设计ETL转换过程(Transformation)。Pan批量运行由Spoon设计的ETL转换(例如使用一个时间调度器),是一个后台执行的程序,没有图形界面。Chef创建任务(Job),任务通过允许每个转换、任务、脚本等等,更有利于自动化更新数据仓库的复杂工作。Kitchen批量使用由Chef设计的任务(例如使用一个时间调度器)。
        由于很多大数据应用都需要来自互联网的外部数据,因此,爬虫技术也称为数据采集阶段的一个主要基础性的技术。
        网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。网络爬虫基本的体系结构如下图所示。
        
        爬虫框架示意图
        爬虫调度器主要负责统筹其他四个模块的协调工作。URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页。HTML解析器用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新的URL链接交给URL管理器,解析出有效数据交给数据存储器。
        网络爬虫大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、深层网络(Deep Web)爬虫。实际的大数据应用由于往往聚焦于某个特定的应用目标,其采用的网络爬虫系统通常是聚焦网络爬虫、深层网络爬虫技术相结合实现的。
        通用网络爬虫,爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。通用网络爬虫的结构大致可以分为页面爬行模块、页面分析模块、链接过滤模块、页面数据库、URL队列、初始URL集合几个部分。为提高工作效率,通用网络爬虫会采取一定的爬行策略。常用的爬行策略有:深度优先策略、广度优先策略。
        聚焦网络爬虫,是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。和通用网络爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,可以很好地满足一些特定人群对特定领域信息的需求。聚焦网络爬虫和通用网络爬虫相比,增加了链接评价模块以及内容评价模块。聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性,常见的爬行策略有基于内容评价的爬行策略、基于链接结构评价的爬行策略、基于增强学习的爬行策略、基于语境图的爬行策略等。
        深层网络爬虫用于专门爬取那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。Deep Web爬虫爬行过程中最重要的部分就是表单填写,包含两种类型:基于领域知识的表单填写,此方法一般会维持一个本体库,通过语义分析来选取合适的关键词填写表单;基于网页结构分析的表单填写,此方法一般无领域知识或仅有有限的领域知识,将网页表单表示成DOM树,从中提取表单各字段值。常见的爬虫工具有如下三种:
        .Nutch:一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch有Hadoop支持,可以进行分布式抓取、存储和索引。Nutch采用插件结构设计,高度模块化,容易扩展。
        .Scrapy:是Python开发的一个快速、高层次的屏幕抓取和Web抓取框架,用于抓取Web站点并从页面中提取结构化的数据。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便地修改。它提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫、Web2.0爬虫等。
        .Larbin:Larbin是一种开源的网络爬虫/网络蜘蛛,用C++语言实现。Larbin目的是能够跟踪页面的URL进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。
        当数据采集到以后,需要对采集并清洗后的数据进行存储。具体的存储技术在13.1.3云关键技术中的分布式数据存储中介绍,此处不再详述。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有