精华内容
下载资源
问答
  • 驱动智能教育奇点式发展的人工智能数据技术——评《人工智能与大数据技术导论》.pdf
  • 附录B 大数据人工智能网上资料 最好的学习资源在国外的三个网站,分别是Coursera、Arxiv以及Github。Coursera是全球顶尖的在线学习网站,Coursera上的课程相对比较基础,如图B-1所示。 图B-1 Coursera网站 一般...
  • 公安信息化“十三五”规划已将云计算、大数据人工智能等新技术应用作为优化基础性技术设施、提升信息化支撑能力的重要建设内容。 15.1 公安大数据的特点 大数据是以容量大、类型多、存取速度快、应用价值高为主要...
  • 医疗大数据人工智能分析应用可优化医疗资源配置、降低医疗成本、提升医疗服务运行效率、突发公共卫生事件预警应急响应,将对我国社会和人民的生活等产生重大而深远的影响,具有巨大的发展潜力、商业机会和创业...
  • 第16章 工农业大数据人工智能 当代信息技术与经济社会的交汇融合引发了数据迅猛增长,数据已成为国家基础性战略资源。党的十八届五中全会明确提出实施国家大数据战略,《国民经济和社会发展第十三个五年规划纲要...
  • 工商银行持续在推动运用大数据人工智能防控信贷风险,成立了信贷防控中心,运用大数据人工智能技术进行相关的防控。 13.1.3 农业银行 做数据仓库的时候,四大行的选择面都很窄,除了农业银行没用TD外,其他银行...
  • AI持续火热的驱动力主要来自于技术本身的提高,包括数据、算法、计算力、大数据和物联网等技术,而这些正是人工智能技术发展的基础。 ● 高质量和大规模的海量数据使得AI成为可能 海量数据为AI技术的发展提供了充足...
  • 附录A 国内人工智能企业名单 2017年,互联网周刊列出了“人工智能未来企业排行榜”,如表A-1所示。 表A-1 人工智能未来企业排行榜 (续表) (续表)
  • 附录C 本书中采用的人工智能中英文术语 machine learning:机器学习 instance/sample:示例/样本 label:标签 iterative approach:迭代法 attribute value:属性值 sample space:样本空间/输入空间 ...
  • 2.1.5 TPU 随着人工智能革新浪潮与技术进程的推进,AI芯片成了该领域下一阶段的竞争核心。2016年5月,谷歌发布了一款特别的机器学习专属芯片:张量处理器(Tensor Processing Unit, TPU),2017年又推出了它的第二...
  • 附录D 术语列表 A A/B测试(A/B testing) 一种统计方法,用于将两种或多种技术进行比较,通常是将当前采用的技术与技术进行比较。A/B测试不仅旨在确定哪种技术的效果更好,而且有助于了解相应差异是否具有显著的...
  • 当所有样本的输入信号都为正值时,第一隐含层神经元相连的权值只能同时增加或减小,从而导致学习速度很慢。为了避免出现这种情况,加快网络学习速度,可以对输入信号进行归一化,使得所有样本的输入信号的均值...
  • 数据挖掘是一种从大量数据中寻找存在的规律、规则、知识以及模式、关联、变化、异常和有意义的结构的技术,是统计学、数据库技术人工智能技术技术的综合。数据挖掘是一门涉及面很广的交叉学科,包括数理统计、...
  • 中文开放知识图谱联盟(OpenKG)旨在推动中文知识图谱的开放互联,推动知识图谱技术在中国的普及应用,为中国人工智能的发展以及创新创业做出贡献。联盟已经搭建有OpenKG.CN技术平台,目前已有35家机构入驻,...
  • tf.estimatorscikit-learn API兼容。正如前面提到的,scikit-learn是热门的开源机器学习库,它是基于Python的。目前全球有超过10万名用户在使用scikit-learn。以下是用tf.estimator实现的线性分类程序(伪代码):...
  • 所有特征维度使用统一的学习速率相比,这种方法考虑了训练样本本身在不同特征上分布的不均匀性,如果某一个维度特征的训练样本很少,每一个样本都很珍贵,那么该特征维度对应的训练速率可以独自保持比较大的值,每...
  • 第6章 机器学习算法 机器学习一直以来都是人工智能研究的核心领域。它主要通过各种算法使得机器能够从样本、数据和经验中学习规律,从而对新的样本做出识别或对未来做出预测。20世纪80年代开始的机器学习浪潮诞生了...
  • 表5-1 从美国城市餐厅小费数据集中节选的数据 图5-1 小费餐费关系图 用x轴表示餐费,y轴表示小费,通过观察散点图可以看出,y随着x的增加而增加,并且近似成比例增加。熟悉美国小费制度的读者应该知道,小费...
  • 第7章 深度学习 2017年5月,谷歌用深度学习算法再次引起了全世界对人工智能的关注。在谷歌开发的围棋程序的对弈中,柯洁以0:3完败。这个胜利的背后是包括谷歌在内的科技巨头近年来在深度学习领域的大力投入。深度...
  • 有人说,当“人工智能”和“大数据”的压路机压过来的时候,要么你成为压路机的一部分,要么你成为路的一部分。未来十年,人工智能大数据是非常重要的一件事情。本轮AI浪潮是数据驱动的,算法就是“炼数术”。因此...
  • 图4-1 人工智能发展阶段 4.1 走进机器学习 大数据是怎么图像识别、语音识别等具体的AI技术联系起来的呢?靠的就是机器学习。 4.1.1 什么是机器学习 机器学习(Machine Learning)是让机器从大量样本数据中自动...
  • 大数据技术人工智能中的应用研究 摘要人工智能是科学技术发展的最新成果其的发 展依靠相关的云技术大数据技术的日渐成熟本文对于大 数据技术人工智能中的应用进行了分析供相关专业人士 参考 关键词大数据 人工...
  • 人工智能导论 大数据技术发展趋势 大数据技术发展趋势.pptx
  • 大数据课程导论

    2021-02-25 14:34:22
    一、大数据课程导论 1. 大数据概念 最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,大数据是当前很热的一个词。这几年来,云计算、继而大数据,成了整个社会的热点,大数据究竟是什么东西?有哪些相关技术...

    一、大数据课程导论

    1. 大数据概念

    最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,大数据是当前很热的一个词。这几年来,云计算、继而大数据,成了整个社会的热点,大数据究竟是什么东西?有哪些相关技术?对普通人的生活会有怎样的影响?我们来一步步弄清这些问题。

    image-20210225101540633

    在讲什么是大数据之前,我们首先需要厘清数据的基本概念。

    数据

    数据是可以获取和存储的信息,直观而言,表达某种客观事实的数值是最容易被人们识别的数据(因为那是“数”)。但实际上,人类的一切语言文字、图形图画、音像记录,所有感官可以察觉的事物,只要能被记下来,能够查询到,就都是数据(data)。

    数据是可以获取和存储的信息,直观而言,表达某种客观事实的数值是最容易被人们识别的数据(因为那是“数”)。但实际上,人类的一切语言文字、图形图画、音像记录,所有感官可以察觉的事物,只要能被记下来,能够查询到,就都是数据(data)。

    常见数据存储单位

    1Byte = 8bit 1K(千)= 1024Byte 1MB(兆)=1024K 1G(吉) = 1024M

    1T(太)=1024G 1P(拍)=1024T 1E(艾)=1024P 1Z(泽)=1024E

    1Y (尧)=1024Z 1B(布)=1024Y 1N(诺)=1024B 1D(刀)=1024N

    大数据

    大数据(big data),是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    大数据(big data),是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    当解决了海量数据的存储问题,接下来面临的海量数据的计算问题也是比较让人头疼,因为企业不仅追求可以计算,还会追求计算的速度、效率。

    以目前互联网行业产生的数据量级别,要处理这些数据,就需要一个更好、更便捷的分析计算方式了。传统的显然力不从心了,而且效率也会非常低下。这正是传统数据分析领域面临的另一个挑战,如何让去分析、计算。这个时候就需要有新的技术去解决这些问题,这个技术就是大数据。

    大数据主要解决的问题:海量数据的存储和海量数据的计算问题。

    2.大数据的特点(5v)

    大数据的特点可以使用5个字来概括:大、多、值、快、信

    1Volume:

    大数据的采集,计算,存储量都非常的庞大。是数据体量巨大(Volume)。截止目前,人类生产的所有印刷材料的数据量是200PB(1PB=1024TB),而历史上全人类说过的所有的话的数据量大约是5EB(1EB=1024PB)。当前,典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。

    image-20210225102224572

    2、Variety:

    种类和来源多样化。种类有:结构化、半结构化和非结构化数据等,常见的来源有:网络日志、音频、视频、图片等等。

    image-20210225102525927

    3、Value:

    大数据价值密度相对低。如果随着物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,存在大量不相关信息。因此需要对未来趋势与模式作可预测分析,利用机器学习、人工智能等进行深度复杂分许。而如何通过强大的机器算法更迅速地完成数据的价值提炼,是大数据时代亟待解决的难题。

    4、Velocity:

    数据增长速度快,处理速度也快,获取数据的速度也要快。这是大数据区分于传统数据挖掘的最显著特征。根据IDC的“数字宇宙”的报告,预计到2020年,全球数据使用量将达到35.2ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。

    2019年11月11日,阿里巴巴天猫成交额达2684亿元,2018年为2135亿元。

    image-20210225103128155

    5、Veracity:

    数据的准确性和可信赖度,即数据的质量。

    3、大数据应用场景

    电商方面

    精准广告位,通过对用户的浏览行为,点击行为等进行大数据采集,分析,挖掘用户的二层三层喜欢,扩大产出。

    image-20210225103325839

    传媒方面

    猜你喜欢,通过对受众人群机型大数据分析,结合对应算法,对受众喜欢的进行交互推荐。

    image-20210225103354050

    金融领域:

    理财投资,通过对个人的信用评估,风险承担能力评估,集合众多理财产品、推荐响应的投资理财产品。

    image-20210225103416230

    交通方面

    目前,交通的大数据应用主要在两个方面:一方面通过对车流量等海量数据的收集,估算,预测该路段一定时间内的车流量情况,给用户提供便利,合理进行道路规划;另一方面可以利用大数据来实现即时信号灯调度,提高已有线路通行能力。

    image-20210225103440539

    电信方面

    智慧营业厅,通过对用户当前的行为习惯、偏好,节假日的相应数据变化,调节自身业务结构,做到按需分配。

    image-20210225103506075

    安防方面

    人脸识别,通过人脸识别,--匹配,存储用户数据,结合人工智能,分析及甄别用户行为,预防犯罪行为发生

    image-20210225103534610

    医疗方面:

    智慧医疗,通过对海量病例大数据的存储,匹配、检索、结合用户的饮食、行为等习惯,搭建智慧医疗体系。

    image-20210225103611023

    4. 大数据业务分析基本步骤

    典型的大数据分析包含以下几个步骤:

    image-20210225103803686

    4.1明确分许目的和思路

    明确数据分析目的以及确定分析思路,是确保数据分析过程有效进行的先决条件,它可以为数据的收集、处理及分析提供清晰的指引方向。

    目的是整个分析流程的起点。目的不明确则会导致方向性的错误。即思考:为什么要开展数据分析,通过这次数据分析要解决什么问题?

    当明确目的后,就要校理分析思路,并搭建分析框架,把分析目的分解成若干个不同的分析要点,即如何具体开展数据分析,需要从那几个角度分析,采用哪些分析指标。只有明确了分析目的,分析框架磁能跟着确定下来,最后还要确保分析框架的体系化,使分析更具有说服力。

    体系化也就是逻辑化,简单来说就是先分析什么,后分析什么,使得各个分析点之间具有逻辑联系。避免不知从哪方面入手以及分析的内容和指标被质疑是否合理、完整。所以体系化就是为了让你的分析框架具有说服力。

    要想使分析框架体系化,就需要一些营销】管理等理论为指导,结合着实际的业务情况进行构建,这样才能保证分析维度的完整性,分析结果的有效性以及正确性。比如以用户行为理论为指导,搭建的互联网网站分析指标框架如下:

    image-20210225104834624

    把数据分许相关的营销、管理等理论统称为数据分析方法论。比如用户行为理论、PEST分析法、5W2H分析法等等,详细请查阅附件资料。

    4.2数据收集

    数据收集是按照确定的数据分析框架,收集相关数据的过程,它为数据分析提供了素材和依据。这里所说的数据包括第一手数据和第二手数据,第一手数据主要指可直接获取的数据,第二手数据主要指经过加工整理后得到的数据。一般数据来源主要有以下几种方式:

    数据库:每个公司都有自己的业务数据库,存放从公司成立以来产生的相关业务数据。这个业务数据库就是一个庞大的数据资源,需要有效地利用起来。

    公开出版物:可以用来收集数据的公开出版物包括《中国统计年鉴》《中国社会统计年鉴》《中国人口统计年鉴》《世界经济年鉴》《世界发展报告》等统计年鉴或报告。

    互联网:随着互联网的发展,网络上发布的数据越来越多,特别是搜索引擎可以帮助我们快速找到所需要的数据,例如国家及地方统计局网站、行业组织网络、政府机构网站、传播媒体网站、大型综合门户网站等上面都有可能有我们需要的数据。

    市场调查:进行数据分析时,需要了解用户的想法与需求,但是通过以上三种方式获得此类数据会比较困难,因此可以尝试使用市场调查的方法收集用户的想法和需求数据。

    4.3数据处理-ETL

    数据处理是指对收集到的数据进行加工整理,形成适合分析的样式,它是数据分析前必不可少的阶段。数据处理的基本目的是从大量的、杂乱无章、难以理解的数据中,抽取并推导出对解决问题有价值、有意义的数据。

    数据处理主要包含数据清洗、数据转化、数据提取、数据计算等处理方法。一般拿到手的数据都需要进行一定的处理才能用于后续的数据分析工作,即使再“干净”的原始数据也需要先进行一定的处理才能使用。

    数据处理是数据分析的基础。通过数据处理,将收集到的原始数据转换为可以分析的形式,并且保证数据的一致性和有效性。

    image-20210225110912615

    4.4数据分析

    数据分析是指用适当的分析方法及工具,对处理过的数据进行分析,提取有价值的信息,形成有效结论的过程。由于数据分析多是通过软件来完成的,这就要求数据分析师不仅要掌握各种数据分析方法,还要熟悉数据分析软件的操作。

    数据挖掘其实是一种高级的数据分析方法,就是从大量的数据中挖掘出有用的信息,它是根据用户的特定要求,从浩如烟海的数据中找出所需的信息,以满足用户的特定需求。数据挖掘机制是人们长期对数据库技术进行研究和开发的结果,一般来说,数据挖掘侧重解决四类数据分析问题:分类、聚类、关联和预测,重点在寻找模式和规律。数据分析与数据挖掘的本质是一样的,都是从数据里面发现关于业务知识。

    4.5数据展现

    image-20210225112202852

    一般情况下,数据是通过表格和图片的方式来呈现的,我们常说用图表说话就是这个意思。常用的数据图包括饼图、柱形图、条形图、折线图、散点图、雷达图等,当然可以对这些图表进一步整理加工,使之变为我们所需要的图形,例如金字塔图、矩阵图、漏斗图等。

    大多数情况下,人们更愿意接受图形这种数据展现方式,因为它能更加有效、直观地传递出来分析所要表达的观点。一般情况下,能用图说明问题的就不用表格,能用表格说明问题的就不用文字。

    4.6报告撰写

    数据分析报告其实是对整个数据分析过程的一个总结与呈现。通过报告,把数据分析的起因、过程、结果及建议完整地呈现出来,供决策者参考。

    一份好的数据分析报告,首先需要有一个好的分析框架,并且图文并茂,层次明晰,能够让阅读者一目了然。结构清晰、主次分明可以使阅读者正确理解报告内容;图文并茂,可以令数据更加生动活泼,提供视觉冲击力,有助于阅读者更形象、直观地看清楚问题和结论,从而产生思考。

    另外,数据分析报告需要有明确的结论,没有明确结论的分析称不上分析,同时也失去了报告的意义,因为我们最初就是为寻找或者求证一个结论才进行分析的,所以千万不要舍本求末。

    最后,好的分析报告一定要有建议或解决方案。作为决策者,需要的不仅仅是找出问题,更重要的是建议或解决方案,以便他们做决策时作参考。所以,数据分析师不仅需要掌握数据分析方法,而且还要了解和熟悉业务,这样才能根据发现的业务问题,提出具有可行性的建议或解决方案。

    5. 大数据部门组织结构

    image-20210225114558633

    6、分布式技术

    6.1. 为什么需要分布式

    计算问题

    无论是我们在学校刚学编程还是在刚参加工作开始处理实际问题,写出来的程序都是很简单的。因为面对的问题很简单。以处理数据为例,可能只是把一个几十K的文件解析下,然后生成一个词频分析的报告。很简单的程序,十几行甚至几行就搞定了。

    直到有一天,给你扔过来1000个文件,有些还特别大,好几百M了。你用之前的程序一跑,发现跑的时间有点长。于是想要去优化下。1000 个文件,互相还没业务联系,用多线程呀,一个线程处理一个文件,结果再汇总就搞定了。如果多线程效果不够好,比如像 Python 的多线程,没法利用多核的威力,那就用多进程。

    无论是线程、进程,本质上,目的都是为了计算的并行化,解决的是算的慢的问题。而如果计算量足够大,就算榨干了机器的计算能力,也算不过来,咋办?

    一台机器不够,那就多搞几台机器嘛。所以就从多线程/进程的计算并行化,进化到计算的分布式化(当然,分布式一定程度上也是并行化)。

    存储问题

    另一方面,如果处理的数据有10T,而你手上的机器只有500G 的硬盘,怎么办?

    一种办法是纵向扩展,搞一台几十T硬盘的机器;另一种是横向扩展,多搞几台机器,分散着放。前者很容易到瓶颈,毕竟数据无限,而一台机器的容量有限,所以在大数据量的情况下,只能选后者。把数据分散到多台机器,本质上解决的是存不下的问题。

    同时,刚才提到计算分布式化后,总不能所以程序都去同一台机器读数据吧,这样效率必然会受到单台机器性能的拖累,比如磁盘 IO、网络带宽等,也就逼着数据存储也要分散到各个机器去了。基于这两个原因,数据存储也分布式起来了。

    6.2. 分布式系统概述

    分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。

    分布式意味着可以采用更好的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。

    从分布式的概念中我们知道,各个主机之间通信和协调主要通过网络进行,所以,分布式系统中的计算机在空间上几乎没有任何限制,这些计算机可以被放在不同的机柜上,也可能被部署在不同的机房中,还可能在不同分城市中,对于大型的网站甚至可能分布在不同的国家和地区。

    6.1. 分布式实现方案

    分布式系统

    小明的公司有3个系统:系统A、系统B和系统C,这三个系统多做的业务不同,被部署在3个独立的机器上运行,他们之间互相调用(当然是跨域网络的),通力合作完成公司的业务流程。

    image-20210225134637894

    将不同的业务分部在不同的地方,就构成了分布式的系统,现在问题来了,系统A是整个分布式系统的额脸面,用户直接访问,用户访问量大的时候要么是速度巨慢,要么直接挂掉,怎么办?由于系统A只有一份,所以会引起单点失败。

    集群(Cluster)

    小明的公司不差钱,就多买几台机器吧, 小明把系统A一下子部署了好几份(例如下图的3个服务器),每一份都是系统A的一个实例,对外提供同样的服务,这样,就不怕其中一个坏掉了,还有另外两个呢。

    这三个服务器的系统就组成了一个集群。

    image-20210225135224441

    可是对用户来说,一下子出现这么多系统A,每个系统的IP地址都不一样,到底访问哪一个呢?

    如果所有人都访问服务器1.1,那服务器1.1会被累死,剩下两个闲死,成了浪费钱的摆设。

    负载均衡(Load Balancer)

    小明要尽可能的让2个机器上的系统A工作均衡一些,比如有3万个请求,那就让3个服务器各处理1万个(理想情况),这叫负载均衡

    很明显,这个负载均衡的工作最好独立出来,放在独立的服务器上(例如nginx):2

    image-20210225135659365

    后来小明发现,这个负载均衡的服务器虽然工作内容简单,就是拿到请求,分发请求,但是它还是有可能挂掉,单点失败还是会出现。没办法,只好把负载均衡也搞成一个集群,这个集群和系统A的集群有两点不同:

    1、我们可以用某种办法,让这个机器对外只提供一个IP地址,也就是用户看到的好像只有一个机器。

    2.同一时刻,我们只让一个负载均衡的机器工作,另外一个原地待命,如果工作的那个挂掉的,待命的那个就顶上去。

    image-20210225140246320

    弹性(伸缩性)

    如果3个系统A的实例还是满足不了大量请求,例如双十一,可以申请增加服务器,双十一过后,新增的服务器闲置,成了摆设,于是小明决定尝试云计算,在云端可以轻松的创建,删除虚拟的服务器,那样就可以轻松的随着用户的请求动态的增减服务器了。

    失效转移

    上面的系统看起来很美好,但是做了一个不切实际的假设:所有的服务都是无状态的,换句话说,假设用户的两次请求直接是没有关联的。但是现实是,大部分服务都是有状态的,例如购物车。

    用户访问系统,在服务器上创建了一个购物车,并向其中加了几个商品,然后服务器1.1挂掉了,用户后续访问就找不到服务器1.1了,这时候就要做失效转移,让另外几个服务器去接管,去处理用户的请求。

    可是问题来了,在服务器1.2,1.3上有用户的购物车吗?如果没有,用户就会抱怨,我刚创建的购物车那里去了?还有更严重的,假设用户登录过的信息保存到了服务器1.1上登录的,用户登录过的信息保存到了该服务器的session中,现在这个服务器挂了,用的session就不见了,会把用户踢到了登录界面,让用户再次登录!

    处理不好状态的问题,集群的威力就大打折扣,无法完成真正的失效转移,甚至无法使用。怎么办?

    一种办法是把状态信息在集群的各个服务器之间复制,让集群的各个服务器达成一致。

    还有一种办法,就是把几种状态信息存储在一个地方,让集群服务器的各个服务器都能访问到。

    展开全文
  • 新工科背景下大数据专业导论课程的改革探索张祖平中南大学计算机学院,湖南 长沙 410083摘要:在申报建设数据科学与大数据技术专业的热潮中,专业培养体系相关课程大...

    新工科背景下大数据专业导论

    课程的改革与探索

    张祖平

    中南大学计算机学院,湖南 长沙 410083

     

    摘要在申报与建设数据科学与大数据技术专业的热潮中,专业培养体系与相关课程大纲一直是各个高校体现其特点的内容。针对专业导论课程的培养目标,结合新工科研究与实践项目的要求,论述了专业导论的教材准备、课程定位及具体教学内容。通过在专业课程中引入实践教学,实现专业能力体系的培养目标,让学生在进入大数据专业的初期就形成良好的实践意识,并对典型技术有切身体会,从而达到大数据专业的知识水平与能力要求。

    关键词新工科;大数据专业;导论课程;能力体系

    640?wx_fmt=jpeg

    论文引用格式:

    张祖平,新工科背景下大数据专业导论课程的改革与探索. 大数据[J], 2018, 4(6):38-45

    Zhang Z P,Reform and exploration for introduction course of big data professional under the background of emerging engineering education.Big data research[J], 2018, 4(6): 38-45

    640?wx_fmt=jpeg

    1 引言


    随着移动互联网的兴起,全球数据呈爆炸性增长,数据规模大约每两年翻一番。而随着人工智能环境下物联网生态圈的形成,数据的采集、存储、分析处理、融合共享等技术需求都能得到响应,各行各业都在体验大数据带来的革命,与大数据相关的技术人才需求激增。据预测,中国近年内大数据人才缺口达200万人,全世界相关人才缺口超过千万之多,因此培养大数据技术人才的重任落到了高等院校身上。从事数据统计、分析和应用的人才已经难以适应大数据时代的新要求。大数据具有体量巨大、速度极快、类型众多、价值巨大的特点,对数据从产生、分析到利用提出了前所未有的新要求。高等教育只有转变观念,更新方法和手段,寻求变革与突破,才能在大数据与人工智能的信息大潮面前立于不败之地。我国教育部门为了响应社会发展需要,于2016年开始正式开设“数据科学与大数据技术”本科专业与“大数据技术与应用”专科专业。近几年,全国形成了申报与建设大数据相关专业的热潮。

    随着大数据专业建设的推进,国内对专业知识体系与能力体系进行了探索,同时也出现了对专业课程建设与人才培养模式的讨论,力图探索大数据教育体系中可采用的具体策略和方法。从2017年开始,全国范围内开始讨论新工科,由此催生了《教育部办公厅关于推荐新工科研究与实践项目的通知》的发布,同时也开始了对新工科背景下大数据专业建设的探究。大数据专业的培养体系在专业教育人才的通力协作下逐步形成,各类适用于不同高校大数据专业特点的培养方案与课程大纲也日渐成熟。

    作为专业重要课程之一的专业导论课程历来受到各类高校的高度重视,专业导论课程一般是在学生第一年统一基础教学后开展的,旨在给学生普及相关专业知识,引导学生进行专业学习。而在新工科背景下,大数据的专业导论具有不同的要求与特点。


    2 专业导论课程大纲

    “数据科学与大数据技术导论”是一门面向本专业的导论性课程,旨在让学生在大学入学最初阶段就对本专业的发展历史、知识结构、培养目标与要求及与数据科学与大数据技术相关的基础知识、典型技术、具体应用等有直观的认识。区别于新生课程的普识性介绍,该课程的相关内容偏专业,目标是让学生对本专业的知识及培养要求有相对全面而直观的了解,同时该课程也会概述性地介绍与计算机学科相关的内容及典型人物,以激发学生的学习兴趣,进一步了解设置新专业的历史背景与总体要求。

    “数据科学与大数据技术导论”课程的基本要求包括以下几个方面。

    ● 知识方面:较好地掌握数据科学与大数据技术的发展历史及相关典型概念,如与数据相关的基本概念、与数据特征相关的测度概念及与大数据相关的5V特性等;了解典型的大数据分析环境包括的技术体系,如Hadoop;了解计算机典型的基础概念,如数据、算法;了解专业需要掌握的知识体系及课程要求;对大数据技术的典型应用有相对直接的了解,并能联想到生活中的大数据技术应用场景。

    ● 能力方面:使学生对本专业的课程体系有区别与选择的能力,对典型的大数据分析环境的技术体系有一定的判别与选择的能力,对应用系统是否要用到大数据平台有一定的判别能力,对整个专业的知识体系有一定的预判与认知。

    ● 素质方面:对数据科学与大数据技术专业的相关基础知识有相对全面的了解,逐渐形成采用数据分析的思维解决实际系统需求的意识;能够通过网络搜索平台找到大数据分析平台需要的典型开源性工具软件,尝试通过网上教学视频进行安装与调试,逐步形成直观认识与一定的学习、操练兴趣;通过课外导学的模式,从网上大量相关的实例中得到启发,从而提升自主学习和终身学习的意识,形成不断学习和适应发展的素质。从以上分析可以看出,课程大纲响应了新工科突出能力与新技术的特点,从知识、能力与素质上提出了具体要求。


    3 教材的准备与课程定位

    为了适应“数据科学与大数据技术导论”课程的课程大纲,笔者组织相关教学团队,编写了《数据科学与大数据技术导论》教材。区别于数据科学导论方面的教材或大数据技术导论教材,笔者单位的教材既包括数据科学与大数据技术专业的发展历程、专业知识要求与技能基本要求等,也包括有关数据科学的基本概念、数据挖掘的基本方法及大数据分析的主要技术等,对大数据分析的各流程中采用的关键技术及核心技术进行了梳理,对主要的大数据技术生态体系进行了介绍,最后基于实际项目,介绍了医疗大数据与智能城市交通大数据,既为学生提供了基本的数据科学与大数据相关知识,又介绍了实际应用的技术与高层次平台或项目申报需要表达的与大数据相关的内容,同时通过20个自主实验强化学生的实践能力。 本课程首先介绍了数据科学与大数据技术专业的产生背景与发展历史、专业的特点与综合要求、专业相关的完整知识体系与技能体系,之后介绍了与本专业密切相关的专业,如计算机科学与技术、统计学等,分析了其与这样的专业的关联关系,还对数据科学与大数据技术专业的出路与就业情况进行了简述。专业课程体系总体架构如图1所示。


    640?wx_fmt=jpeg

    图1 专业课程体系总体架构

    由于数据科学与大数据技术专业较新,可供借鉴的历史不多,大家各自的理解不同,在课程体系方面形成了“百花齐放”的局面,究竟哪个是最好的、最完整的,暂时没有结论。笔者提出的专业课程体系供大家参考,也供本专业学生选择课程时参考。

    针对以上专业课程体系,专业导论课程需要将专业主要的知识点串接起来,既要从各主要课程中抽出重点的知识进行综述性的讲解,又要兼顾各知识间的关联关系,同时由于课时的约束,内容不可能讲得很多,也不可能讲得很深,这是一个较难掌握的平衡度。

    在技能体系方面,笔者认为数据科学与大数据技术专业的学生需要学习从数据获取到数据分析应用整个流程的各种技术与技能。目前,对本专业的学生或从事本专业技术工作的人员在专业技术方面没有明确的规定,但经过了几年的专业建设与讨论,并综合考虑了社会对专业人才的实际需求,形成了如图2所示的专业技能体系,不要求学生掌握所有的技术,但学生需要对某些部分或环节有选择的能力与熟知其中一二的基础。


    640?wx_fmt=jpeg

    图2 大数据技能体系


    一般的专业导论课程主要是专业知识体系的串接,即使讲到技能体系,也只是一个概括性的介绍,如概述技术的名称与具体技术特点或要求等,不会要求学生有实践动手的机会。但从以上技能体系分析来看,数据科学与大数据技术专业要求掌握的技术可以说既具体又丰富,而且复杂性高。在新工科背景下,如果数据科学与大数据技术专业的学生在专业导论课程的学习时,没有形成自己动手的意识或基本的动手能力,就很难达到能力要求,也很难满足专业就业与科研的需要。因此笔者学校在实际教学时,专业导论课程对学生的动手能力提出了具体的要求。

    4 专业导论课程教学内容

    针对专业导论课程的大纲及定位,笔者学校将实际课程教学分为5个章节,其中第1章为专业概论,主要介绍数据科学与大数据技术专业的产生背景与发展历史、专业的特点与综合要求、专业相关的完整知识体系与技能体系,还介绍了本专业和与其密切相关的专业(如计算机科学与技术、统计学等)之间的关联关系,本章还对本专业的出路与就业情况进行了简述。

    第2章为数据科学与大数据基本概念,主要介绍与数据科学与大数据技术相关的基本概念、相关技术特点、对应的社会岗位需求及对学生的知识、能力、素质要求。与数据科学与大数据技术相关的主要概念包括基本概念(如信号、数据、信息、知识等)和成体系的概念(如数据科学、数据挖掘、数据库、大数据等)。

    第3章为大数据核心技术,大数据技术主要有6个核心部分:数据采集、数据存储与管理、数据预处理、数据清洗、数据挖掘、数据可视化。当然也有很多文献把大数据技术划分为5个部分,即将数据预处理合并到数据采集或数据清洗中。总体来说,大数据核心技术是大数据处理的各个核心环节的关键技术。

    第4章为大数据环境与技术,主要介绍大数据运行环境及典型技术。大数据技术生态一般是指在数据采集、数据整理、存储、运算、数据展示以及系统维护等各个层面用到的各类相互关联的技术、软件、工具等的集合。以Hadoop为例,其维护工具是Ambari,采集工具是 ETL,管理工具是Sqoop、 NiFi、 Phoenix等,存储工具是HDFS、HBase、Hive等,运算工具是MapReduce、Spark等, 联机分析处理(online analytical processing, OLAP)的关键工具是Kylin,数据展示包括很多技术或工具,Hadoop自带的是Zeeplin。

    第5章为大数据应用系统,主要介绍2个典型的大数据应用系统及实用技术展示,包括医疗大数据、交通大数据等具体应用实例,进一步强化大数据相关技术。此外,部分相关项目立项时的一些文档内容可供大家将来参与类似项目时参考,如医疗大数据主要参考 “医疗大数据应用技术国家工程实验室” “医学大数据协同创新中心”“数据科学与大数据技术专业”等的申报材料,交通大数据主要参考“大联合交管中心系统”的初步设计、详细设计、技术报告及用户手册等文档。

    5 专业导论的实践内容

    为了响应教育部新工科研究与实践项目的要求,从本专业导论课程开始设立相关的实验环节,通过知识主线与技术主线把相关课程串接起来,力争让学生尽早有培养自己动手能力的意识与综合利用各种技术与平台的能力。

    首先是基本编程能力的强化训练,如讲述第1章绪论时引出4个实验。

    ● 实验1:任选编程语言,实现自然数阶乘累加,如1!+2!+3!+…+n!,其中n为输入变量。

    ● 实验2:R for Windows下载与安装、测试演示(graphics)、测试数学函数。

    ● 实验3:Matlab下载、安装、测试演示、测试 fplot( )函数并生成曲线图。

    ● 实验4:ECharts下载、安装与典型图表可视化。

    大二学生已经有了一定的编程基础,此时,再强化训练细节编程(阶乘累加中,当n较大时需要细致处理)及常用统计分析软件的常用功能(如R语言、Matlab及可视化工具ECharts等)的使用。这有一定的挑战性,但是图形结果的呈现也会给学生带来一定的兴趣。比如,实验1看起来比较简单,一般理解就是一个累乘循环、一个累加循环就可以了,但实际上,由于累乘的结果增长很快,需要考虑整数的位长问题。当一般的位长不够时,就需要考虑如何保存精确的整数,当n增长到比较大的数值(如20以上)时,处理起来非常复杂(不同编程语言有不同的位长限制),这就要求有较好的综合编程能力。有些学生可以做到结果用文件输出,n只受计算能力的限制;有些学生开始只能做到n为10左右,但经过多次尝试,n就可以越来越大。经过这种从看起来简单到实际具有一定挑战性的综合编程训练,学生对自己选择的编程语言的感受是非常深刻的。

    在第2章安排了4个实验,具体如下。

    ● 实验1:任选编程语言,实现数组的集中趋势测度。

    ● 实验2:任选编程语言,实现数组的离散程度测度。

    ●实验3:下载并安装Oracle,实现在数据库管理员(database administrator,DBA)用户系统下的用户管理。

    ● 实验4:执行典型的SQL操作等。这部分的实验逐步转向专业,即数据科学中的数据统计与数据库的相关操作,难度不大,但有专业性。

    其中第2章中的实验1、实验2主要是数据统计方面的实验,是一些计算公式的实验,难度不是很大,但能形成数据统计的感性认识。实验3、实验4主要是数据库操作,目标是让学生对大型数据库的用户管理及基本的SQL中九大命令的操作有真实的感受。

    在第3章安排了5个实验,包括:通过开放数据库链接(open database connectivity,ODBC)导入/导出数据;网络蜘蛛的搜索与应用;SQL查重与去重;利用SQL实现数据集成;使用ECharts与Excel实现数据库表的数据可视化。此部分更趋向于专业,且要求比较综合,逐步提高了实验的难度与综合性。此章的实验逐步向大数据技术靠近,有多种方式的数据采集、数据的预处理、数据整合与融合及分析结果呈现等,各个实验都有一定的设计性与综合性,要求也就相应地提高 了。

    第4章介绍了典型的大数据技术的相关操作,而第5章安排了2个设计性的实验,包括:分类统计重症肌无力诊疗数据库中的首发症状类别及与年龄的关联关系;基于交通大数据中环线路面卡口研判。难度不言而喻,同时也不要求所有学生都做到,力争通过演示的形式,给大家一个参考,让学生感受真正的大数据分析与一般的统计分析差别到底在哪里,从而使学生对大数据实际分析有一个感性的认识。

    6 结束语

    我国于2016年开设了数据科学与大数据技术本科专业,国外虽然有数据分析工程的本科专业或硕士专业,但专业培养方案与课程大纲可供借鉴性较小。本文针对数据科学与大数据技术专业中重要的专业导论课程,从知识体系与能力体系等方面分析了培养的要求与目标定位,在知识点的串接、动手能力意识的培养与实际操作方面提出了可供参考的方案,该方案的特点是针对新工科的要求,在具体教学中引入了大量的专业实践,为学生形成良好的能力训练意识与真实感受大数据提供了机会。未来需要进一步完善的是针对课程教学与教材,形成数据科学与大数据专业实践资源管理与服务平台。

    The authors have declared that no competing interests exist. 

    作者已声明无竞争性利益关系。 


    作者简介

    张祖平(1966-),男,博士,中南大学教授、博士生导师、计算机科学与技术系主任,大数据技术及应用团队负责人,中南大学“531人才计划”第二层次人才,中国计算机学会高级会员。加拿大西安大略大学(UWO)国家公派访问学者。

    《大数据》期刊

    《大数据(Big Data Research,BDR)》双月刊是由中华人民共和国工业和信息化部主管,人民邮电出版社主办,中国计算机学会大数据专家委员会学术指导,北京信通传媒有限责任公司出版的中文科技核心期刊。

    640?wx_fmt=jpeg

    关注《大数据》期刊微信公众号,获取更多内容


    往期文章回顾

    大数据系统软件创新平台与生态建设

    大数据驱动5G网络与服务优化

    新工科背景下的大数据体系建设探析

    专题导读:新工科背景下的大数据人才培养及课程体系设计

    “数据科学”课程群与  “数据科学导论”课程建设初探

    大数据技术原理与应用课程建设经验分享


    展开全文
  • 8.1.1人工智能AI概念及分类;8.1.1人工智能AI概念及分类;8.1.1人工智能AI概念及分类;8.1.1人工智能AI概念及分类;8.1.1人工智能AI概念及分类;8.1.1人工智能AI概念及分类;8.1.2人工智能发展史;8.1.2人工智能发展史;...
  • 大数据导论;第9章 大数据与人工智能;9.1 什么是人工智能; 早在我国西周时期就流传着有关巧匠偃师献给周穆王一个艺妓歌舞机器人的故事有列子汤问篇记载为证还流传了这么一个典故偃师造人见图9-1唯难于心就是说技艺再...
  • 人工智能导论 troduction to artificial intelligence 大数据思维 大数据与人工智能 2)思维转变之一样本=总体 思维转变之二:接受数据的混杂性 思维转变之三:数据的相关关系 第1节 大数据与人工智能 A31大数据与人工...
  • 大数据导论(通识课版)-第2章-大数据云计算、物联网、人工智能
  • 大数据导论复习笔记

    千次阅读 多人点赞 2020-05-24 16:38:20
    文章目录大数据导论第1章 大数据概述数据类型、数据组织形式、数据的使用数据类型数据组织形式数据的使用大数据的概念(4V)科学研究四种范式第2章 大数据云计算、物联网、人工智能云计算概念、云计算服务模式和类型...

    文章目录

    大数据导论

    第1章 大数据概述

    数据类型、数据组织形式、数据的使用

    数据类型
    类型含义本质举例技术
    结构化数据直接可以用传统关系数据库存储和管理的数据先有结构,后有管理数字、符号、表格SQL
    非结构化数据无法用传统关系数据库存储和管理的数据难以发现同一的结构语音、图像、文本NoSQL,NewSQL,云技术
    半结构化数据经过转换用传统关系数据库存储和管理的数据先有数据,后有结构HTML、XMLRDF、OWL
    数据组织形式

    计算机系统中的数据组织形式主要有两种,即文件和数据库。

    1. 文件:计算机系统中的很多数据都是以文件形式存在的,比如一个WORD文件、一个文本文件、一个网页文件、一个图片文件等等。

    2. 数据库:计算机系统中另一种非常重要的数据组织形式就是数据库,数据库已经成为计算机软件开发的基础和核心。

    数据的使用
    • 数据清洗

    • 数据管理

    • 数据分析

    • 信息化浪潮、信息科技为大数据时代提供技术支撑

    1. 存储设备容量不断增加
    2. CPU处理能力大幅提升
    3. 网络带宽不断增加

    大数据的概念(4V)

    科学研究四种范式

    • 实验

    • 理论

    • 计算

    • 数据

    第2章 大数据与云计算、物联网、人工智能

    云计算概念、云计算服务模式和类型

    五个特征
    • 宽带接入

    • 弹性架构

    • 可测量服务

    • 按需自服务

    • 虚拟化的资源池

    四个部署模型
    • 公有云

    • 私有云

    • 混合云

    • 社区云

    服务模式

    IaaS(Infrastructure as a Service):基础设施级服务。消费者通过因特网可以从完善的计算机基础设施获得服务。

    IaaS通过网络向用户提供计算机(物理机和虚拟机)、存储空间、网络连接、负载均衡和防火墙等基本计算资源;用户在此基础上部署和运行各种软件,包括操作系统和应用程序。例如,通过亚马逊的AWS,用户可以按需定制所要的虚拟主机和块存储等,在线配置和管理这些资源。

    PaaS(Platform as a Service):平台级服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。

    平台通常包括操作系统、编程语言的运行环境、数据库和 Web服务器,用户在此平台上部署和运行自己的应用。用户不能管理和控制底层的基础设施,只能控制自己部署的应用。目前常见的PaaS提供商有CloudFoundry、谷歌的GAE等。

    SaaS(Software as a Service):软件级服务。它是一种通过因特网提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动,例如邮件服务、数据处理服务、财务管理服务等

    大数据系统与云安全、云安全及其关键技术

    • 认证授权问题

    • 访问控制问题

    • 操作审计问题

    • 敏感数据保护问题

    • 认证授权问题

    物联网概念、物联网三要素、物联网层次架构

    大数据与云计算、物联网的关系

    人工智能概念、人工智能关键技术

    人工智能(Artificial Intelligence),英文缩写为AI,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

    关键技术:机器学习、专家系统、知识图谱、计算机视觉、自然语言处理、生物特征识别、人机交互、VR/AR、模式识别

    大数据与人工智能的关系

    1. 人工智能需要数据来建立其智能,特别是机器学习
    2. 大数据技术为人工智能提供了强大的存储能力和计算能力

    第3章 大数据技术

    大数据技术的不同层面及其功能

    在这里插入图片描述

    传统的数据采集与大数据采集的区别

    在这里插入图片描述

    互联网爬虫基本架构、爬取策略

    1. 将这些URL放入待抓取URL队列;
    2. 读取URL,Download对应页面;
    3. 解析页面,嗅探新的URL去重加入队列;
    4. Goto step 3

    ETL概念

    ETL(Extract、Transform、load)

    ETL是数据获取的重要手段,需要知道具体格式

    数据清洗的主要内容

    大数据时代的数据存储和管理技术

    1. 分布式文件系统
    2. NewSQL和NoSQL数据库

    数据挖掘和机器学习算法、深度学习概念和应用领域

    大数据处理分析技术类型及解决的主要问题

    大数据计算模式解决问题代表产品
    批处理计算针对大规模数据的批量处理MapReduce、Spark等
    流计算针对流数据的实时计算Storm、S4、Flume、Streams、Puma、DStream、Super Mario、银河流数据处理平台等
    图计算针对大规模图结构数据的处理Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等
    查询分析计算大规模数据的存储管理和查询分析Dremel、Hive、Cassandra、Impala等

    数据可视化概念

    数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程

    数据安全技术

    1. 身份认证技术
    2. 防火墙技术
    3. 访问控制技术
    4. 入侵检测技术
    5. 加密技术

    第4、5、6章 大数据应用、大数据安全、大数据思维

    推荐系统、推荐方法、推荐系统

    推荐系统是自动联系用户和物品的一种工具,和搜索引擎相比,推荐系统通过研究用户的兴趣偏好,进行个性化计算。推荐系统可发现用户的兴趣点,帮助用户从海量信息中去发掘自己潜在的需求。
    在这里插入图片描述

    大数据应用领域

    1. 互联网领域
    2. 生物医学领域
    3. 物流领域
    4. 城市管理领域
    5. 金融领域
    6. 汽车领域
    7. 零售领域
    8. 餐饮领域
    9. 电信领域
    10. 能源领域
    11. 体育和娱乐领域
    12. 安全领域
    13. 政府领域

    大数据安全与传统数据安全的不同

    1. 大数据成为网络攻击的显著目标
    2. 大数据加大隐私泄露风险
    3. 大数据技术被应用到攻击手段中
    4. 大数据成为高级可持续攻击(APT)的载体

    大数据思维方式

    1. 全样而非抽样
    2. 效率而非精确
    3. 相关而非因果
    4. 以数据为中心
    5. 我为人人,人人为我

    第9章 Hadoop、HDFS、MapReduce、Hive、Spark简介

    Hadoop的特性、项目结构

    特性:

    • 高可靠性
    • 高效性
    • 高可扩展性
    • 高容错性
    • 成本低
    • 运行在Linux平台上
    • 支持多种编程语言

    项目结构:

    在这里插入图片描述

    组件功能
    HDFS分布式文件系统
    MapReduce分布式并行编程模型
    YARN资源管理和调度器
    Tez运行在YARN之上的下一代Hadoop查询处理框架,它会将很多的mr任务分析优化后构建一个有向无环图,保证最高的工作效率
    HiveHadoop上的数据仓库
    HBaseHadoop上的非关系型的分布式数据库
    Pig一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言Pig Latin
    Sqoop用于在Hadoop与传统数据库之间进行数据传递
    OozieHadoop上的工作流管理系统
    Zookeeper提供分布式协调一致性服务
    Storm流计算框架
    Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统
    AmbariHadoop快速部署工具,支持Apache Hadoop集群的供应、管理和监控
    Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据
    Spark类似于Hadoop MapReduce的通用并行框架

    HDFS相关概念、体系结构、数据存取策略、数据错误与恢复

    相关概念
    • HDFS默认一个块128MB,一个文件被分成多个块,以块作为存储单位。

      • 支持大规模文件存储
      • 简化系统设计
      • 适合数据备份
    • NameNode和DataNode

      NameNodeDataNode
      存储元数据存储文件内容
      元数据保存在内存中文件内容保存在磁盘
      保存文件,block,datanode之间的映射关系维护了block id和datanode本地文件的映射关系
      • NameNode

        • 在HDFS中,名称节点(NameNode)负责管理分布式文件系统的命名空间,保存了两个核心的数据结构,即FsImage和EditLog

        • 名称节点记录了每个文件中各个块所在的数据节点的位置信息
          在这里插入图片描述

      • FsImage文件

        • FsImage文件包含文件系统中所有目录和文件inode的序列化形式。
        • FsImage文件没有记录块存储在哪个数据节点。而是由名称节点把这些 映射保留在内存中
      • SecondaryNameNode

        第二名称节点是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS 元数据信息的备份,并减少名称节点重启的时间。SecondaryNameNode一般是单独运行在一台机器上

      • 数据节点(DataNode)

        • 数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据

        客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发

        送自己所存储的块的列表

        • 每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中
    HDFS体系结构

    HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点(NameNode)和若干个数据节点(DataNode)。名称节点作为中心服务器,负责管理文件系统的命名空间及客户端对文件的访问。集群中的数据节点一般是一个节点运行一个数据节点进程,负责处理文件系统客户端的读/写请求,在名称节点的统一调度下进行数据块的创建、删除和复制等操作。每个数据节点的数据实际上是保存在本地Linux文件系统中的

    在这里插入图片描述

    数据存取策略
    1. 数据存放
      • 第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点
      • 第二个副本:放置在与第一个副本不同的机架的节点上
      • 第三个副本:与第一个副本相同机架的其他节点上
      • 更多副本:随机节点

    在这里插入图片描述

    1. 数据读取
      • HDFS提供了一个API可以确定一个数据节点所属的机架ID,客户端也可以调用API获取自己所属的机架ID
      • 当客户端读取数据时,从名称节点获得数据块不同副本的存放位置列表,列表中包含了副本所在的数据节点,可以调用API来确定客户端和这些数据节点所属的机架ID,当发现某个数据块副本对应的机架ID和客户端对应的机架ID相同时,就优先选择该 副本读取数据,如果没有发现,就随机选择一个副本读取数据
    数据错误与恢复
    1. 名称节点出错

      HDFS设置了备份机制,把这些核心文件同步复制到备份服务器SecondaryNameNode上。当名称节点出错时,就可以根据备份服务器SecondaryNameNode中的FsImage和Editlog数据进行恢复。

    2. 数据节点出错

      • 每个数据节点会定期向名称节点发送“心跳”信息,向名称节点报告自己的状态

      • 当数据节点发生故障,或者网络发生断网时,名称节点就无法收到来自一些数据节点的心跳信息,这时,这些数据节点就会被标记为“宕机”,节点上面的所有数据都会被标记为“不可读”,名称节点不会再给它们发送任何I/O请求

      • 这时,有可能出现一种情形,即由于一些数据节点的不可用,会导致一些数据块的副本数量小于冗余因子

      • 名称节点会定期检查这种情况,一旦发现某个数据块的副本数量小于冗余因子,就会启动数据冗余复制,为它生成新的副本

      • HDFS和其它分布式文件系统的最大区别就是可以调整冗余数据的位置

    3. 数据出错

      1. 网络传输和磁盘错误等因素,都会造成数据错误

      2. 客户端在读取到数据后,会采用md5和sha1对数据块进行校验,以确定读取到正确的数据

      3. 在文件被创建时,客户端就会对每一个文件块进行信息摘录,并把这些信息写入到同一个径的隐藏文件里面

      4. 当客户端读取文件的时候,会先读取该信息文件,然后,利用该信息文件对每个读取的数

      5. 据块进行校验,如果校验出错,客户端就会请求到另外一个数据节点读取该文件块,并且向名称节点报告这个文件块有错误,名称节点会定期检查并且重新复制这个块

    HDFS如何减轻名称节点的负担

    在客户端需要访问一个文件时,名称节点并不参与数据的传输,而是只将数据节点位置发给客户端,因此实现了一个文件的数据能够在不同的数据节点上实现并发访问,大大提高了数据访问速度并减轻了中心服务器的负担,方便了数据管理。

    MapReduce相较于传统并行计算框架的优势

    传统并行计算框架MapReduce
    集群架构/容错性共享式(共享内存/共享存储),容错性差非共享式,容错性好
    硬件/价格/扩展性刀片服务器、高速网、SAN,价格贵,扩展性差普通PC机,便宜,扩展性好
    编程/学习难度what-how,难what,简单
    适用场景实时、细粒度计算、计算密集型批处理、非实时、数据密集型

    MapReduce体系结构、应用程序执行过程

    体系结构

    MapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及Task

    在这里插入图片描述

    • Client

      • 用户编写的MapReduce程序通过Client提交到JobTracker端
      • 用户可通过Client提供的一些接口查看作业运行状态
    • JobTracker

    • JobTracker负责资源监控和作业调度

    • JobTracker 监控所有TaskTracker与Job的健康状况,一旦发现失败,就将相

      应的任务转移到其他节点

    • JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler,可插拔,可自定义),而调度器会在资源出现空闲时,选择合适的任务去使用这些资源

    • TaskTracker

      • TaskTracker 会周期性地通过“心跳”将本节点上资源的使用情况和任务的

        运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相

        应的操作(如启动新任务、杀死任务等)

      • TaskTracker 使用”slot(槽)”等量划分本节点上的资源量(CPU、内存等)。

      • 一个Task 获取到一个slot 后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot 分为Map slot 和 Reduce slot 两种,分别供MapTask 和Reduce Task 使用

    • Task

      Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动

    MapReduce应用程序执行过程

    在这里插入图片描述

    数据仓库概念、 Hive特点

    数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。

    在这里插入图片描述

    • Hive是一个构建于Hadoop顶层的数据仓库工具

    • 支持大规模数据存储、分析,具有良好的可扩展性

    • 某种程度上可以看作是用户编程接口,本身不存储和处理数据

    • 依赖分布式文件系统HDFS存储数据

    • 依赖分布式并行计算模型MapReduce处理数据

    • 定义了简单的类似SQL 的查询语言——HiveQL

    • 用户可以通过编写的HiveQL语句运行MapReduce任务

    • 可以很容易把原来构建在关系数据库上的数据仓库应用程序移植到Hadoop平台上

    • 是一个可以提供有效、合理、直观组织和使用数据的分析工具

    Hive具有的特点非常适用于数据仓库

    • 采用批处理方式处理海量数据
      • Hive需要把HiveQL语句转换成MapReduce任务进行运行
      • 数据仓库存储的是静态数据,对静态数据的分析适合采用批处理方式,不需要快速响应给出结果,而且数据本身也不会频繁变化
    • 提供适合数据仓库操作的工具
      • Hive本身提供了一系列对数据进行提取、转换、加载(ETL)的工具,可以存储、查询和分析存储在Hadoop中的大规模数据
      • 这些工具能够很好地满足数据仓库各种应用场景

    Hive与Hadoop生态系统中其他组件的关系

    • Hive依赖于HDFS存储数据

    • Hive依赖于MapReduce 处理数据

    • 在某些场景下Pig可以作为Hive的替代工具

    • HBase 提供数据的实时访问

    Spark特点、Spark基本概念

    • 运行速度快:使用DAG执行引擎以支持循环数据流与内存计算

    • 容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程

    • 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件

    • 运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,并且可以访问HDFS、HBase、Hive等多种数据源

    Spark与Hadoop的对比、Spark RDD

    Hadoop存在如下一些缺点:

    • 表达能力有限

    • 磁盘IO开销大

    • 延迟高

    • 任务之间的衔接涉及IO开销

    • 在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务

    相比于Hadoop MapReduce,Spark主要具有如下优点:

    • Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多 种数据集操作类型,编程模型比Hadoop MapReduce更灵活

    • Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高

    • Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制

    MapReduceSpark
    数据存储结构:磁盘HDFS文件系统的split使用内存构建弹性分布式数据集RDD 对数据进行运算和cache
    编程范式:Map + ReduceDAG: Transformation + Action
    计算中间结果落到磁盘,IO代价大计算中间结果在内存中维护 存取速度比磁盘高几个数量级
    Task以进程的方式维护,需要数秒时间才能启动任务Task以线程的方式维护 对于小数据集读取能够达到亚秒级的延迟
    Spark RDD

    RDD提供了一个抽象的数据架构,我们不必 担心底层数据的分布式特性,只需将具体的应用逻辑表达为一系列转换处理,不同RDD之间的转换操作形成依赖关系,可以实现管道化,避免中间数据存储

    RDD典型的执行过程如下:

    • RDD读入外部数据源进行创建

    • RDD经过一系列的转换(Transformation)操作,每一次都会产生不同的RDD,供给下一个转换操作使用

    • 最后一个RDD经过“动作”操作进行转换,并输出到外部数据源

    RDD特性

    • 高效的容错性

      现有容错机制:数据复制或者记录日志

      RDD:血缘关系、重新计算丢失分区、无需回滚系统、重算过程在不同

      节点之间并行、只记录粗粒度的操作

    • 中间结果持久化到内存,数据在内存中的多个RDD操作之间进行传递,避免 了不必要的读写磁盘开销

    担心底层数据的分布式特性,只需将具体的应用逻辑表达为一系列转换处理,不同RDD之间的转换操作形成依赖关系,可以实现管道化,避免中间数据存储

    RDD典型的执行过程如下:

    • RDD读入外部数据源进行创建

    • RDD经过一系列的转换(Transformation)操作,每一次都会产生不同的RDD,供给下一个转换操作使用

    • 最后一个RDD经过“动作”操作进行转换,并输出到外部数据源
      在这里插入图片描述

    RDD特性

    • 高效的容错性

      现有容错机制:数据复制或者记录日志

      RDD:血缘关系、重新计算丢失分区、无需回滚系统、重算过程在不同

      节点之间并行、只记录粗粒度的操作

    • 中间结果持久化到内存,数据在内存中的多个RDD操作之间进行传递,避免 了不必要的读写磁盘开销

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,563
精华内容 1,025
关键字:

人工智能与大数据技术导论