大数据技术及应用-基于Python语言 思考题参考答案 严宣辉 - 第5-9章 大数据计算-大数据应用案例_第1页
大数据技术及应用-基于Python语言 思考题参考答案 严宣辉 - 第5-9章 大数据计算-大数据应用案例_第2页
大数据技术及应用-基于Python语言 思考题参考答案 严宣辉 - 第5-9章 大数据计算-大数据应用案例_第3页
大数据技术及应用-基于Python语言 思考题参考答案 严宣辉 - 第5-9章 大数据计算-大数据应用案例_第4页
大数据技术及应用-基于Python语言 思考题参考答案 严宣辉 - 第5-9章 大数据计算-大数据应用案例_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章大数据计算

1.简述MapReduce计算过程(1)将输入文件切分为逻辑上的多个

Split,通过RecordReader处理

Split

中的具体记录,加载数据并转换为适合

Map

任务读取的<key,value>,并输入给

Map

任务。(2)

Map

:根据用户自定义的映射规则,输出一系列<key,value>的作为中间结果。(3)

Shuffle:

Map

任务的输出结果进行一定的分区、排序(Sort)、合并(Combine)、归并(Merge)等操作,得到<key,value-list>形式的中间结果,并交给对应的

Reduce

任务进行处理。(4)Reduce:以一系列<key,value-list>的中间结果作为输入,执行用户定义的逻辑,输出结果给

OutputFormat。(5)

OutputFormat验证输出目录是否已经存在及输出结果类型是否符合配置文件中的配置类型,并输出

Reduce

任务的结果到分布式文件系统。2.

简述本章列举的大数据计算模式的异同

(1)在大数据领域,批处理计算是把所有的数据算一遍以获得答案的计算模式;而流计算中处理的数据是源源不断地、突发地到来的流数据(或数据流)。批处理计算使用的算法经常被称为批量算法,流计算使用的算法经常被称为增量算法,流计算常常需要大数据算法的支持。(2)图计算和流计算、MapReduce

等类似,是一种通用分布式计算模式,解决的是在大规模分布式计算环境下的共性问题。但是,它又和流计算不同,图计算是一种真正的计算模式,各种图计算系统也通过提供

API

等形式,允许开发者在一致性的计算模式下,根据自己的需要开发特定的应用。(3)查询分析计算利用SQL对文本或者非结构化数据进行处理的通用数据处理架构。(4)云计算代表了以虚拟化技术为核心、以低成本为目标的、动态可扩展的网络应用基础设施。3.

简述云计算的服务模式

云计算中典型的服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。4.

简述云计算的类型

云计算的类型包括公有云、私有云和混合云。5.

简述云计算的关键技术

云计算的关键技术包括虚拟化技术、分布式存储、分布式计算、多租户技术。6.

简述云计算与大数据的区别与联系

(1)

云计算和大数据的区别:云计算旨在整合和优化各种

IT

资源,并通过网络以服务的方式廉价地提供给用户;大数据旨在对海量数据的存储、处理与分析,从海量数据中发现价值,服务于社会生产和生活。(2)

云计算和大数据的联系。从整体上看,大数据和云计算是相辅相成的。云计算为大数据处理提供了强大的计算和存储基础设施,同时也可以提供各种数据管理和分布式计算服务,使得大数据处理变得更加高效和灵活。反之,大数据为云计算提供了“用武之地”,没有大数据这个“练兵场”,云计算再先进,也不能发挥它的应用价值。可以说,云计算和大数据已经彼此渗透、相互融合、相互促进、相互影响。7.

简述

YARN

各组件的功能

(1)

ResourceManager:

处理

Client

的请求;

启动/监控

ApplicationMaster;

监控

NodeManager;

资源分配与调度(2)

ApplicationMaster:

为应用申请资源,并分配给内部任务;

任务调度、监控与容错(3)

NodeManager:

单个节点上的资源管理;

处理来自

ResourceManager

的命令;

处理来自

ApplicationMaster

的命令8.

简述

Spark

RDD

依赖关系区别

RDD

的依赖关系可以分为两种类型:(1)窄依赖关系:每个父

RDD

分区最多只有一个子

RDD

分区依赖它。(2)宽依赖关系:每个父

RDD

分区可以有多个子

RDD

分区依赖它。9.

简述

Spark

的运行架构

(1)

当一个Spark应用被提交时,首先为这个应用构建起基本的运行环境。(2)

资源管理器为Executor分配资源,并启动Executor,Executor

运行情况将随着“心跳”信息发送到资源管理器上。(3)

SparkContext根据RDD的依赖关系构建DAG,并将DAG提交给DAG调度器进行

解析。(4)

任务在Executor上执行,执行结果被反馈给任务调度器和DAG调度器,执行完毕后写入数据并释放所有资源。10.

简述

Hadoop1.0

的改进与提升

针对Hadoop1.0存在的局限与不足,在后续发展过程中,Hadoop对

MapReduce和

HDFS的许多方面做了有针对性的改进与提升:(1)HDFS:

对于单一名称节点,存在的单点故障问题,设计了

HDFS

HA,提供名称节点热备份机制。对于单一命名空间,无法实现资源隔离问题,设计了

HDFS

联邦,管理多个命名空间。(2)MapReduce:对于资源管理效率低的问题,设计了新的资源管理调度框架

YARN。11.

使用代码实现一个简单的词频统计

MapReduce

应用

#

mapper

函数def

mapper(line):

words

=

line.strip().split()

for

word

in

words:

yield

(word,

1)#

reducer

函数def

reducer(word,

counts):

return

word,

sum(counts)#

主程序if

__name__

==

'__main__':

#

读取输入文件

with

open('input.txt',

'r')

as

f:

lines

=

f.readlines()

#

执行

mapper

函数

pairs

=

[]

for

line

in

lines:

pairs.extend(mapper(line))

#

按键进行分组

groups

=

{}

for

pair

in

pairs:

word,

count

=

pair

if

word

not

in

groups:

groups[word]

=

[]

groups[word].append(count)

#

执行

reducer

函数

results

=

[]

for

word,

counts

in

groups.items():

result

=

reducer(word,

counts)

results.append(result)

#

输出结果

for

result

in

results:

print(result)12.介绍一个本章未详细介绍的大数据计算平台或工具,形成报告SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具。Spark

SQL

Apache

Spark

中用于处理结构化数据的模块,它提供了一种基于

SQL

的统一数据处理引擎,支持许多标准

SQL

查询以及内置函数和聚合操作,同时还能够与

Spark

的其他组件集成,例如

Spark

Streaming、MLlib

GraphX。

(1)Spark

SQL的几大优点:①

易整合:

无缝的整合了

SQL

查询和

Spark

编程②

统一的数据访问:可以使用相同的方式连接不同的数据源③

兼容Hive:在已有的仓库上直接运行

SQL

或者

HiveQL④

标准数据连接:

通过

JDBC

或者

ODBC

来连接

(2)Spark

SQL

的主要功能包括:①

支持多种数据源:Spark

SQL

支持从多种数据源中读取数据,包括

JSON、Parquet、Hive

表、JDBC

数据库等。②

支持

SQL

查询:Spark

SQL

可以通过

SQL

查询语句进行数据查询和分析,支持标准

SQL

查询语句、聚合函数、内置函数等。③

DataFrame

API:Spark

SQL

还提供了

DataFrame

API,使得用户可以用类似于

SQL

的方式进行数据查询和处理,同时也可以通过编程方式实现更复杂的操作。④

优化器:Spark

SQL

中内置了一个基于

Catalyst

的优化器,能够自动优化查询计划,提高查询性能。⑤

集成

Hive:Spark

SQL

还可以与

Hive

集成,用户可以使用

Spark

SQL

API

SQL

查询语句查询

Hive

表,还可以将

Spark

SQL

的结果保存到

Hive

表中。Spark

SQL

的应用场景包括数据仓库、数据分析、数据挖掘、报表等领域,它可以处理结构化数据和半结构化数据,支持多种数据源和数据格式,并提供了易于使用的

API

和查询语言,是

Spark

生态系统中重要的组成部分。第六章大数据挖掘1.数据挖掘的任务有哪些?每项任务的含义是什么?数据挖掘的主要任务,具体包括聚类分析、预测建模(分类和回归)、关联分析、异常检测。聚类是一种查找隐藏在数据之间内在结构的技术,它将所有的样本数据组织成一些相似的组,根据样本数据的特点对其进行分类,使得同一类别中的数据实例具有相似性的特点,不同类别的数据实例相似性应尽可能小。预测建模是通过变量函数的方式为因变量建立模型。预测建模任务通常分为两大类:分类任务,用于预测离散的因变量;回归任务,用于预测连续的因变量。关联分析是用来发现描述数据中强关联特征的模式,它利用关联规则进行数据挖掘,以发现隐藏在大型数据集中令人感兴趣的联系。异常检测的任务是识别数据特征显著不同于其他数据的观测值。这样的观测值称为异常点或离群点。异常检测算法的目的是发现真正的离群点,而避免错误地将正常的对象标注为离群点。2.数据挖掘和知识发现的概念有什么异同?

数据挖掘是指从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道但又是潜在有用信息的过程。这些信息的表现形式为规则、概念、规律及模式等。许多人把数据挖掘等同于数据库中的知识发现,实际上数据挖掘是数据库中知识发现不可缺少的一部分,而知识发现是将未加工的数据转换为有用信息的过程,该过程包括一系列转换步骤,从数据的预处理到数据挖掘结果的后处理。

3.按如下标准对下列每种聚类算法进行描述:可以确定的簇的形状;必须指定的输入参数;局限性。(1)

k-means:K-means算法是一种基于距离的聚类算法,将平均值作为类“中心”进行分割聚类。适用于球形簇,使用时需要指定簇的数量和初始中心点。对非球形簇分布的数据效果不好,且对初始中心点的选择敏感;(2)

k中心点:K中心点算法是一种基于距离的聚类算法,它将数据集分成K个簇,每个簇的中心是该簇内距离最远的两个点之间的中点。适用于球形簇,使用时需要指定簇的数量和初始中心点。对非球形簇分布的数据效果不好,且对初始中心点的选择敏感;(3)

DBSCAN:DBSCAN算法是一种基于高密度连通区域的聚类算法,它将类簇定义为高密度相连点的最大集合。适用于各种复杂形状的数据集,需要设置半径和密度阈值来确定簇。对于高维数据集,和密度差异较大的数据集,DBSCAN聚类效果不佳;(4)

CLARA

算法随机地抽取多个样本,针对每个样本寻找其代表对象,并对全部的数据对象进行聚类,从中选择质量最好的聚类结果作为最终结果。算法需要指定采样数量和簇数量K。算法对不同的初始节点会导致不同的聚类结果,且结果往往收敛于局部最优,对数据对象的输入顺序异常敏感,且只能处理凸形或球形边界聚类。4.

结果如下。

(1)

第一次循环执行后的三个聚类中心:A1(2,10)、B2(7,5)和C1(1,2)(2)

最后的三个簇:{C2(4,9),

A1(2,10),

B1(5,8)}{B2(7,5),

A3(8,4),

B3(6,4)}{C1(1,2),

A2(2,5)}5.简述分类的意义及常用的分类方法。

分类是通过学习得到一个目标函数f把每个属性集

x

映射到一个预先定义的类标号y上,其中目标函数

f

也称分类模型。目前比较常用的分类算法有决策树算法、最近邻算法、贝叶斯法、支持向量机、分类器组合法和人工神经网络算法。6.比较线性可分支持向量机、线性支持向量机和线性不可分的线性支持向量机。

线性可分支持向量机是指数据集可以被一个超平面完全分开的情况。在这种情况下,可以找到一个最大间隔超平面;线性支持向量机是指数据集不能被一个超平面完全分开的情况。在这种情况下,可以使用软间隔最大化来找到一个最大间隔超平面;线性不可分的线性支持向量机是指数据集不能被一个超平面完全分开,并且不能使用软间隔最大化来找到一个最大间隔超平面的情况。在这种情况下,我们可以使用核函数将数据映射到高维空间中,然后在高维空间中找到一个最大间隔超平面。7.列举常见的回归方法。常见的回归方法主要有线性回归、非线性回归、逻辑回归(

Logistic

Regression)、多项式回归(

Polynomial

Regression)、岭回归及主成分回归。8.支持向量回归模型和支持向量机的区别支持向量机(SVM)是一种二分类模型,它的目标是找到一个超平面,将数据集分成两个部分。支持向量回归(SVR)是支持向量机的一个应用分支,它是一种非常强大的回归方法。与SVM不同的是,SVR的目标是找到一个超平面,使得所有样本点到该超平面的距离都小于等于一个给定的阈值。SVR可以处理线性和非线性回归问题,并且可以使用核函数将数据映射到高维空间中,以处理非线性问题。9.结果如下所示使用Apriori算法和FP算法得到的频繁项集相同,其结果如下:{E}:

3{K}:

4{Y}:

3{K,

E}:

3{Y,

E}:

3{K,

Y}:

3{K,

Y,

E}:

3两种算法得到的频繁项集是相同的。但是,FP-growth算法的效率要高于Apriori算法,因为FP-growth算法只需要扫描数据集两次,而Apriori算法需要扫描数据集多次。因此,在实际应用中,FP-growth算法更加常用。10.选择任意两种聚类算法进行编程实现(Python、Matlab、Java、C

任选一种)。以k-means和DBSCAN算法为例。需要先安装scikit-learn库。from

sklearn.cluster

import

KMeans

from

sklearn.cluster

import

DBSCANimport

numpy

as

np#

输入数据X

=

np.array([(1,1),

(1,2),

(2,1),

(8,8),

(8,9),

(9,8),

(15,15)])

#

k-means

print('k-means聚类结果')kmeans

=

KMeans(n_clusters=2,

random_state=0)kmeans_labels

=

kmeans.fit_predict(X)for

i

in

range(max(kmeans_labels)+1):

print(f"Cluster

{i+1}:

{list(X[kmeans_labels==i])}")

print('\n')#

DBSCAN

print('DBSCAN聚类结果')

dbscan

=

DBSCAN(eps=2,

min_samples=3)dbscan_labels

=

dbscan.fit_predict(X)for

i

in

range(max(dbscan_labels)+1):

print(f"Cluster

{i+1}:

{list(X[dbscan_labels==i])}")print(f"Noise:

{list(X[dbscan_labels==-1])}")第七章大数据安全1.大数据安全与隐私之间的区别与联系。

区别:(1)需求不同。大数据隐私保护需求一般仅聚焦于匿名性;而大数据安全需求更为广泛,不仅包括数据机密性,还包括数据完整性、真实性、不可否认性、平台安全、数据权属判定等。(2)聚焦对象不同。大数据安全聚焦的数据对象是有明确定义的,可以是某个具体数据,

也可以是一个信息系统中的全部信息;而大数据隐私的范围没有明显界定,隐私或显示或隐式存在于多种数据类型中。联系:大数据隐私的匿名性和大数据安全的机密性较为相似。二者都希望用户的关键数据或者标识数据不被泄露,否则将会对用户的隐私安全、财产安全造成威胁。

2.大数据生命周期包括哪些?请详细介绍。

(1)大数据的生命周期包括数据产生、采集、传输、存储、分析和使用、分享、销毁等诸多阶段。(2)数据产生:在大数据时代,数据产生是指在目标领域有新的数据产生或者现有数据出现更新。(3)数据采集:数据采集是指数据采集方对于用户端、智能设备、传感器等终端产生的数据进行记录与预处理的过程。(4)数据传输:数据传输是指将采集到的大数据由用户端、智能设备、传感器等终端传输到大型集中式数据中心的过程。(5)数据存储:数据被采集后汇集并存储于大型集中式数据中心的过程。(6)分析和使用:通过数据挖掘、机器学习等算法对数据进行处理,从而提取出用户所需的数据。(7)数据分享:将价值密度较高的信息向公众展示或用于其他目的的分享过程。(8)数据销毁:大数据系统中的某些数据一旦不再进行预期目的分析、长期内没有任何访问需求、超过生存时间戳以及存储冗余都会进行数据销毁。数据销毁主要包括数据硬销毁和数据重写两种方式。

3.大数据安全与隐私保护关键技术有哪些?

(1)设施层面关键技术。大数据安全设施层防护主要涉及终端、云平台及大数据基础设施设备的安全问题,包括设备的失效、电磁破坏及平台的崩溃等问题。通常采用的关键技术包括终端安全防护技术、云平台安全防护技术及大数据基础设施安全防护技术等。(2)数据层面关键技术。①数据传输安全技术,主要是VPN技术,主流VPN产品包括基于SSL协议的VPN和IPsec协议的VPN。②数据采集安全技术,关于数据采集安全技术相关的研究有基于计算机技术的方法在融合数据的同时保障感知数据的认证性及机密性;针对无线传感器的信息观测及数据安全问题,则提出了基于时间部署的密钥管理方案。③数据存储安全技术,数据存储安全技术包括静态数据、动态数据加密和非关系型的数据存储安全最佳方案及数据的备用、恢复等。(3)接口层面关键技术。①数据提供者与数据应用提供者之间的接口安全防护需要利用的关键技术包括终端输入验证、安全数据融合技术、过滤技术及实时安全监控技术等。②数据应用提供者与数据消费者之间的接口安全防护需要利用的关键技术包括防止隐私数据分析和传播的隐私保护技术及遵循法律法规的敏感数据访问控制技术等。③数据应用提供者与数据框架提供者之间的接口安全防护需要利用的关键技术包括身份识别、数据加密、访问控制、加密数据的计算粒度访问及粒度审计等。(4)系统层面关键技术。数据安全系统层安全技术利用大数据对系统进行安全管理和防御,包括实时安全检测、基于大数据分析的安全事件管理、面向安全的大数据挖掘的监测和防范等关键技术。(5)数据发布匿名保护技术。隐私保护的研究领域主要关注基于数据失真的技术、基于数据加密的技术和基于限制发布的技术。(6)社交网络匿名保护技术。目前的边匿名保护技术大多是通过随机增删交换边的方法有效实现边匿名。有少部分边匿名保护技术是基于超级节点对图结构进行分割和集聚操作的,如基于节点聚集的匿名保护技术、基于基因算法的匿名保护技术、基于模拟退火算法的匿名保护技术及先填充再分割超级节点的匿名保护技术。(7)数据水印技术。数字水印是指将标识信息以难以察觉的方式嵌入数据载体内部且不影响其使用的技术,多用于多媒体数据版权保护,也有部分针对数据库和文本文件的水印技术。(8)数据溯源技术。数据溯源的基本方法是标记法,后来数据溯源的概念进一步细化为

why-和-where-两类,分别侧重数据的计算方法及数据的出处。(9)角色挖掘技术。角色挖掘简单来说,就是如何设置合理的角色。典型的算法包括以可视化的形式,通过用户权限二维图排序归并的算法提取角色;通过子集枚举及聚类等非形式化的算法提取角色;也有基于形式化语义分析、通过层次化挖掘更准确提取角色的算法。

4.密文技术有哪些?它们的步骤是什么?它们有什么特点?它们适用于什么应用场景?(1)对称密文检索技术,包括Setup、BuildIndex、Gen

Trapdoor、Search等算法,适用于大部分第三方存储场景。可分为:①基于全文扫描的技术、②基于文档-关键词索引的技术、③基于关键词-文档索引的技术。①基于全文扫描的技术步骤:先对文档进行分组加密,然后将分组加密结果与一个伪随机流进行异或得到最终用于检索的密文数据。检索时,用户将关键词对应的陷门发送给服务器,服务器对所有密文数据依次使用陷门计算其是否满足预设的条件,若满足预设条件,则返回该文档。②基于文档-关键词索引的技术步骤:为每个文档建立单独的索引,且服务器在检

索时需要遍历全部索引。特点:这种技术的检索时间复杂度与文档个数成正比。③基于关键词-文档索引的技术步骤:该技术的索引结构类似于搜索引擎倒排索引,在初始化时为每个关键词生成包含该关键词的文档标识集合,并加密存储这些索引结构。特点:不需要逐个检索每个文档,其检索时间复杂度仅与返回的结果个数呈线性关系。因此该技术的检索效率远高于前两种技术。使用场景:大数据场景。(2)非对称密文检索技术,包括Setup、BuildIndex、Gen

Trapdoor、Search等算法,适用于密钥交换、证书等场景。(3)密文区间检索技术可分为①早期的密文区间检索技术、②基于谓词加密和矩阵加密的密文区间检索技术、③基于等值检索的技术、④保序加密。①适用于客户端存储和计算能力突出的场景。特点:早期的密文区间检索技术虽然简单易实现,但是在安全性和检索效率上的缺陷阻碍了其在现实场景中的应用。②基于谓词加密的密文区间检索技术普遍安全性较高。但是其基本运算操作为双线性映射,从而检索效率较低。不适用于处理高维度、高精度数据。基于矩阵加密的密文区间检索技术虽然安全性不如基于谓词加密的密文区间检索技术但检索效率较高,且可以方便地处理精度数据。③基于等值检索的技术灵活性较大,根据用户对于安全性、检索效率和存储空间的要求,可以采用不同的关键词构造方法。④密文直接泄露了明文的排序特征,因此其安全性较低。但是对于经过保序加密的数据,可以使用任意明文数据结构和检索方式对其进行检索,所以在安全性要求不高的场景中,保序加密具有良好的表现。

5.安全处理技术中同态加密技术有什么优缺点?有没有对该技术的改进方式?

优点:同态加密技术的全过程不需要对数据进行解密,人们可

以在加密的情况下进行简单的比较和检索从而得出正确的结论。因此,云计算运用同态加密

技术,不仅可以很好地解决目前云计算遭遇到的大部分安全问题,还可以扩展和增强云计算

的应用模式,同时它为在云计算的服务中有效合法利用海量云数据提供了可能。缺点:现有算法存在效率低、密钥过大、密文爆炸等性能问题,在性能上距离可行的工程应用还有一定距离。目前改进方式举例:基于整数的全同态加密技术改进方案。

6.请简述隐私保护技术的重要性,并描述现有技术的特点。

隐私保护技术的重要性:隐私保护技术的重要性在于能够在不泄露原始内容的情况下对数据进行计算。隐私保护技术的目标在于实现数据可用性和隐私性之间的良好平衡。现有技术:(1)社交图谱中的隐私保护,社交网络隐私保护目标为依据当前社交网络分析技术能力,对社交图谱进行足够的处理变换,在保证数据可用性的前提下,合理降低被保护数据被推测的准确度。(2)位置轨迹隐私保护,可分为①基于策略的保护方法,依赖于外界约束;②基于匿名的保护方法,切断了用户请求的位置与用户身份的联系;③基于干扰的保护方法,使用噪音对用户的准确位置进行扰动;④基于加密的保护方法,可以在确保服务可用的情况下不会泄露任何身份信息和查询信息,满足更加严格的保护隐私的需求。

7.安全存储技术有哪些分类?如何实现企业存储安全?

安全存储技术分类:基于可信引用监控机的访问控制、基于密码学的访问控制。实现企业存储安全:(1)对于中小型企业的数据存储业务,由于外包存储的存储服务是第三方提供的,较难构建可信引用监控机,所以往往采用密码学中的密码技术

来实施访问控制,如基于密钥管理的访问控制技术和基于属性加密(Attribute

Based

Encryption,ABE)的访问控制技术(2)对于大企业或组织,使用基于可信引用监控机的访问控制技术。包括传统的自主访问控制、强制访问控制、

基于角色的访问控制、基于属性的访问控制(Attribute-Based

Access

Control,ABAC)及基于数据分析的访问控制和角色挖掘等技术。

8.请读者根据对大数据安全的理解,简述大数据安全目前所面临的挑战。

(1)大数据依托的非关系型数据库缺乏数据安全机制。(2)社会工程学攻击带来的安全问题。(3)软件后门威胁大数据安全。(4)操作系统漏洞的存在威胁文件安全。(5)云计算环境中用户数据安全与隐私保护难以实现。

9.简述大数据安全对企业服务的影响。

总的来说数据安全主要包括四个方面:数据安全审计、数据安全防火墙、数据脱敏和数据加密。(1)数据安全审计数据安全审计通过记录、分析和报告用户访问数据库行为,帮助用户生成合规报告、事故可追溯性,同时通过大数据搜索技术提供高效查询审计报告,定位事件原因,以便未来查询、分析、过滤,加强内外数据库网络行为监控审计,提高数据资产安全。(2)数据安全防火墙数据安全防火墙可以控制数据库访问行为,拦截高风险操作,监控可疑行为,拦截风险威胁,提供可靠的数据库安全保护服务。(3)数据脱敏数据脱敏是保证数据安全的最基本的手段。脱敏方法有很多。最常用的方法是使用可逆加密算法。仓库中的每个敏感字段都需要加密,匿名个人信息,为数据的安全使用提供基本保障。(4)数据加密数据加密提供积极的数据安全防御机制,防止明文存储造成的数据泄露,突破边界保护外部黑客攻击和内部高权限用户数据盗窃,防止绕过合法应用系统直接访问数据库的外部攻击和盗窃,从根本上解决数据库数据存储安全问题。一旦重要数据泄露,将给企业经济、用户隐私造成巨大损失。

10.请读者通过查阅资料,自行寻找其他大数据安全实例。

政务服务领域,由于数据敏感、系统壁垒等问题,政务数据共享存在以下问题:(1)各地区、各部门存在系统壁垒。传统的政务数据采取中心化的服务模式,由特定政府机构管理,不利于数据共享和各种获取数据。(2)政务数据敏感,信息传输、交换风险高。政府数据由于其与生俱来的敏感性,以及历史和设备原因导致存在的信息交换风险,导致各地区、部门之间的信息交换存在顾虑。(3)构建统一平台花费大、维护成本高。若推出统一共享平台,需接入各地区、部门的系统,易导致数据泄露以及未来维护成本较高等问题。解决方案:基于区块链构建一个政府主导、多方监管、共同协作的新型政务数据共享平台。依托区块链自有的加密安全、防篡改、去中心化的优势,实现跨地域、跨主体、跨系统之间的数据共享,实现数据价值流动交换。

11.简述未来大数据安全的发展方向。

(1)针对大数据依托的非关系型数据库推出有效防控机制。(2)封闭软件后门、封堵系统漏洞,降低对数据的威胁。(3)云计算环境中用户数据安全与隐私保护。(4)区块链的应用。

12.谈一谈对大数据时代来临,如何保护个人隐私的认识。

(1)了解隐私政策。(2)加强账号安全。(3)控制个人信息。(4)使用加密通讯工具。(5)定期清理浏览历史和缓存。(6)使用隐私保护工具。(7)谨慎分享个人信息。(8)教育自己和他人。第八章大数据可视化

1.数据可视化的三个分支是什么?分别有什么特点?

数据可视化的三个分支主要包括科学可视化、信息可视化和可视分析学。科学可视化的特点主要有:1)主要关注三维现象的可视化

2)重点在于对体、面及光源等的逼真渲染

3)目的是以图形的方式说明科学数据,使科学家能够从数据中了解、说明和收集规律4)处理

的数据具有天然几何结构(如磁感线、流体分布等)信息可视化的特点主要有:1)研究抽象数据的交互式视觉表示,以加强人类认知

2)处理的数据具有抽象数据结构可视分析学的特点主要有:1)重点是通过交互式视觉界面进行分析推理

2)综合了计算机图形学、数据挖掘和人机交互等技术

3)将人的感知能力与认知能力以可视的方式融入数据处理过程

4)

能建立螺旋式信息交流与知识提炼途径2.如何实现数据可视化?常用的数据可视化图表有哪些?

经典的可视化实现流程如图

8.6

所示。首先对数据进行加工过滤,转变成视觉可表达形式,然后渲染成用户可见的视图。

常用的可视化图表有饼图、旭日图、散点图、气泡图、折线图、柱状图、箱线图、关系图、雷达图、平行坐标图、分级统计地图等。

3.数据可视化工具有哪些特性?主流的编程工具有哪些?分别适用于哪些场景?

数据可视化工具的特点主要有:

1)实时性

2)操作简单

3)拥有更丰富的展现

4)多种数据集成支持方式。主流的编程工具主要有Processing、R、SAS、D3.js、Echarts。要求从艺术的角度进行数据可视化的场景,可以使用Processing;既要做数据分析,又要做图形处理的场景可以使用R、SAS;既要兼顾数据处理,又要兼顾展现效果的场景可以使用D3.js和Echarts。

4.四个人捐款给一个人,姓名和捐款金额如表

8.1

所示,请用饼图描述四个人捐款金额占总捐款金额中的比例。

import

matplotlib.pyplot

as

plt#

设置允许中文字符plt.rcParams['font.sans-serif']

=

'simhei'#

设置饼图数据data

=

[900,

10000,

7000,

15000]#

设置饼图每个数据对应的标签label

=

['George',

'Sam',

'Betty',

'Charlie']

#

新建一个画布plt.figure(figsize=(5,5))#

画图饼图plt.pie(data,

labels

=

label,

autopct='%.2f%%',

)#

设置饼图标题plt.title('四人捐款占比情况')#

展示饼图plt.show()5.某公司统计了近半年的销售收入(Income)和边际利润率(Profit_Margin)的数据,为了方便财务人员进行查看,请在同一个图形窗口中绘制两组数据的变化趋势。import

matplotlib.pyplot

as

plt#

设置允许中文字符plt.rcParams['font.sans-serif']

=

'simhei'#

销售收入Income

=

[2456,

2032,

1900,

2450,

2890,

2280]#

边际利润率Profit_Margin

=

[0.125,

0.113,

0.102,

0.145,

0.143,

0.151]#

设置

x

轴的标签x_label

=

['一月',

'二月',

'三月',

'四月',

'五月',

'六月']#

创建第一个坐标系fig,

ax1

=

plt.subplots()#

绘制

Income

折线图,颜色设置为红色ax1.plot(x_label,

Income,

color='tab:red')#

添加坐标轴标签和标题ax1.set_xlabel('月份')ax1.set_ylabel('销售收入',

color='tab:red')ax1.tick_params(axis='y',

labelcolor='tab:red')ax1.set_ylim([1000,

3200])

#

设置

y

轴范围#

创建第二个坐标系,因为两组数据的数值范围差距过大,所以使用两套坐标系ax2

=

ax1.twinx()#

绘制

Profit_Margin

折线图ax2.plot(x_label,

Profit_Margin,

color='tab:blue')#

添加坐标轴标签和标题ax2.set_ylabel('边际利润率',

color='tab:blue')ax2.tick_params(axis='y',

labelcolor='tab:blue')ax2.set_ylim([0,

0.2])

#

设置

y

轴范围#

添加图例ax1.legend(['销售收入'],

loc='upper

left')ax2.legend(['边际利润率'],

loc='upper

right')#

添加标题plt.title('近半年公司销售收入和边际利润率折线图')#添加网格plt.grid()#

显示图形plt.show()6.利用爬虫方法爬取北京或其他省市地区的历史空气污染物含量及

AQI

数据,选择合

适的数据可视化图表展示多个地区历史空气质量的对比关系,并采用数据可视化图表对

AQI与各种空气污染物含量的关系进行分析。爬虫代码如下所示:

import

os

import

requestsfrom

bs4

import

BeautifulSoupimport

pandas

as

pd

#

爬取的城市列表cities

=

['beijing',

'shanghai',

'tianjin','chongqing','haerbin','dalian','shenyang','suzhou','wuhan','chengdu']names=['北京','上海','天津','重庆','哈尔滨','大连','沈阳','苏州','武汉','成都']#

城市英文名转换成中文名en2cn=dict(zip(cities,names))#

所有城市空气质量历史信息存储目录dir='AirQualityInfos'

if

not

os.path.exists(dir):

os.makedirs(dir)#

爬取的时间范围start_year

=

2021end_year

=

2022#

请求头信息headers

=

{

'User-Agent':

'Mozilla/5.0

(Windows

NT

10.0;

Win64;

x64)

AppleWebKit/537.36

(KHTML,

like

Gecko)

Chrome/58.0.3029.110

Safari/537.3'}#

循环遍历城市列表,爬取数据并存储到

CSV

文件中

for

city

in

cities:

#

创建一个表格用于存储爬取得到的数据

df=pd.DataFrame(columns=['City',

'Date',

'Quality'

,

'AQI',

'PM2.5',

'PM10',

'SO2',

'NO2',

'CO',

'O3'])

#

从开始的年份到结束的年份进行遍历

for

year

in

range(start_year,end_year):

#

从1月到12月进行遍历

for

mon

in

range(1,13):

mon=str(mon).zfill(2)

time=str(year)+mon

print('当前正在爬取的数据为:',time,en2cn[city])

#

爬取网站的数据

url

=

f'/aqi/{city}-{time}.html'

#

获取网页内容

response

=

requests.get(url,

headers=headers)

soup

=

BeautifulSoup(response.content,

'html.parser')

#

获取数据表格

table

=

soup.find('table',

{'class':

'b'})

#

获取数据行

rows

=

table.find_all('tr')[1:]

for

row

in

rows:

#

获取日期和数据

tds=row.find_all('td')

date

=

tds[0].get_text().strip()

quality

=

tds[1].get_text().strip()

aqi

=

tds[2].get_text().strip()

pm25

=

tds[4].get_text().strip()

pm10

=

tds[5].get_text().strip()

so2

=

tds[6].get_text().strip()

no2

=

tds[7].get_text().strip()

co

=

tds[8].get_text().strip()

o3

=

tds[9].get_text().strip()

#

print(en2cn[city],date,quality,aqi,pm25,pm10,so2,no2,co,o3)

df.loc[len(df.index)]=[

en2cn[city],date,quality,aqi,pm25,pm10,so2,no2,co,o3

]

df.to_excel(os.path.join(dir,city+'.xlsx'))第九章大数据应用案例1.归纳大数据在金融行业有哪些具体应用场景,并分析大数据为金融行业带来的价值。

银行大数据的应用有客户画像、精准营销、风险管理与风险控制、运营优化等。保险大数据的应用有客户细分和精细化营销、欺诈行为分析、精细化运营等。证券大数据的应用有股价预测、客户关系管理、智能投资顾问、投资景气指数等。大数据为金融行业带来的价值有:改进风险管理:金融机构可以通过使用大数据技术更准确地识别风险和预测未来趋势,增强风险管理能力,为投资者和客户提供更可靠的服务。提高效率与降低成本:大数据可以提高金融机构的工作效率,减少错误和重复工作,并降低运营成本。例如,采用自动化服务和智能客户服务代替人工服务,或是自动识别、分析和预测市场动态来实现高频交

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论