大数据原理和应用

习题答案:b684c768b1d74e59bae17054a8d2417d.jpg
第一章:
1. 简述大数据的概念。
答:自2012年以来,“大数据”一词越来越引起人们的关注。但是,目前为止,在学术研究领域和产业界中,大数据并没有一个标准的定义。在维克托·迈尔-舍恩伯格编写的《大数据时代》一书中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。而麦肯锡全球研究所则定义大数据为一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。通常来说,大数据是指数据量超过一定大小,无法用常规的软件在规定的时间范围内进行抓取、管理和处理的数据集合。
2. 简述大数据的基本特征。
答:
大数据的主要特征可用“5V+1C”来进行概括,分别是:数据量大(Volume)、数据类型多(Variety)、数据时效性强(Velocity)、价值密度低(Value)、准确性高(Veracity)、复杂性高(Complexity),如下图所示。

 


图 大数据特征图
3.简述大数据的分析处理过程。
答:
大数据的处理流程基本可划分为数据采集、数据处理与集成、数据分析和数据解释4个阶段。即经数据源获取的数据,因为其数据结构不同(包括结构、半结构和非结构数据),用特殊方法进行数据处理和集成,将其转变为统一标准的数据格式方便以后对其进行处理;然后用合适的数据分析方法将这些数据进行处理分析,并将分析的结果利用可视化等技术展现给用户,这就是整个大数据处理的流程如下图所示。

图 大数据的处理流程

详细的分析处理过程参见《大数据技术与应用》第5章第2节


4. 简述大数据的存储方式。
答:
存储系统作为数据中心最核心的数据基础,不再仅是传统分散的、单一的底层设备。除了要具备高性能、高安全、高可靠等基于大数据应用需求,“应用定义存储”概念被提出。主要有以下几种存储方式:
1、分布式系统 
2、NoSQL数据库 
3、云数据库 
4、大数据存储技术路线 
        1) 采用MPP架构的新型数据库集群 
        2) 基于Hadoop的技术扩展和封装 
        3) 大数据一体机

5.简述大数据的商业价值和社会价值。
答: 
商业价值: 
1.对顾客群体细分,然后对每个群体量体裁衣般的采取独特的行动。 
2. 运用大数据模拟实境,发掘新的需求和提高利润。
3. 提高大数据成果在各相关部门的分享程度,提高企业决策能力。
4. 进行商业模式、产品和服务的创新。
社会价值: 
1.大数据可以为个人提供个性化的医疗服务。
2.大数据可以提供个性化教育。在大数据的支持下,教育将呈现另外        的特征:弹性学制、个性化辅导、社区和家庭学习。
3.大数据的诞生让社会安全管理更为井然有序。
4.大数据的发展带动了社会上各行各业的发展。 
6.以某一行业为例,简述大数据的应用。
答:参见《大数据技术与应用》 第1章第4节

第二章:
1.简述大数据集群系统。
答:集群技术是指通过高速通信网络将一组相互独立的计算机联系在一起,组成一个计算机系统,该系统中每一台计算机都是一个独立的服务器,运行各自的进程,它们相互之间可以通信,既可以看作是一个个单一的系统,也能够协同起来为用户提供服务。对网络用户来讲,后端就像是一个单一的系统,协同向用户提供系统资源、系统服务,通过网络连接组合成一个组合来共同完一个任务。Hadoop 分布式集群是为了对海量的非结构化数据进行存储和分析而设计的一种特定的集群。其本质上是一种计算集群。
详见《大数据技术与应用》第2章第1节

2.简述集群系统的分类。
答:集群分为同构与异构两种。而按功能和结构可以分成以下几类。
 (1)高可用性集群。
 (2)负载均衡集群。
 (3)高性能计算集群。
 (4)网格计算。

3.简述Linux操作系统的特性。
答:
Linux操作系统是一个多用户,多任务,丰富的网络功能,它不仅有可靠的系统安全,而且良好的可移植性,具有标准的兼容性,良好的用户界面,出色的速度性能,最为重要的是开源,CentOS主要有以下特点:
    (1)主流:目前的Linux操作系统主要应用于生产环境,企业级主流Linux系统仍旧是RedHat或者CentOS。
    (2)免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个Linux发行版本。
    (3)更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务。

4.简述计算机虚拟化技术以及常见的虚拟化软件。
答:在计算机中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可分割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
    常见的虚拟化软件有VirtualBox、VMware Workstation、KVM。

5.简述大数据集群技术的架构。
答:一般来说,大数据集群的构架,主要分为硬件资源层、OS 层、基础设施管理层、文件系统层、大数据集群层和大数据应用层,如下图所示。

图 大数据集群的架构
详见《大数据技术与应用》第2章第5节

6.安装Linux系统并进行网络配置。
答:Linux安装环境:CentOS 7.3, 官网http://www.centos.org/
为了简化操作,使用三台服务器作为集群节点,其中一台为Master节点,两台为Slave节点。规划集群节点IP。
对集群节点进行网络配置:
    (1)设置主机名
    (2)修改/etc/hosts文件
    (3)修改网络配置
    (4)重启网络,并查看网络IP地址
    (5)关闭并停止NetworkManager服务

    详见《大数据技术与应用》第2章第6节
7.部署Linux集群、设置时间同步以及免密钥SSH配置。
答:一、集群规划
二、网络配置
   (1)设置主机名
   (2)修改/etc/hosts文件
   (3)修改网络配置
   (4)重启网络,并查看网络IP地址
   (5)关闭并停止Network Manager服务
    三、安全配置
   (1)安全密码控制
   (2)设置历史记录、退出自动清空历史记录等
   (3)设置闲置超时时间
   (4)设置Selinux
   (5)设置并停止firewalld服务
    四、时间同步
   (1)Master节点时间同步安装设置
   (2)Slave节点时间同步安装设置
   (3)设置自动加载并重启chrony服务
   (4)查看master节点时间同步信息
   (5)查看slaver节点时间同步信息
    五、SSH登录
   (1)安装openssh,开启sshd服务
   (2)以root用户登录master节点,生成SSH密钥对
   (3)把含有公用密钥文件信息复制到节点机上
   (4)使用SSH登录节点机
        详见《大数据技术与应用》第2章第6节
第三章:
1.简述Hadoop系统及其优点。
答:Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,它主要有以下几个优点:
(1)高可靠性。
(2)高扩展性。
(3)高效性
(4)高容错性。
详见《大数据技术与应用》第3章第1节

2.简述Hadoop原理及运行机制。
答:Hadoop的核心由3个子项目组成:Hadoop Common、HDFS、和MapReduce。 Hadoop Common包括文件系统(File System)、远程过程调用协议(RPC)和数据串行化库(Serialization Libraries)
详见《大数据技术与应用》第3章第1节

3.简述Hadoop技术生态系统。
答:Hadoop生态系统主要包括:HDFS、MapReduce、Spark、Storm、HBase、Hive、Pig、ZooKeeper、 Avro 、Sqoop、Ambari、HCatalog、Chukwa 、Flume、Mahout、Phoenix、Tez、Shark等, Hadoop开源技术生态系统如下图所示。


图 Hadoop开源技术生态系统
4. 学会JDK的安装和配置。
答:参见《大数据技术与应用》第3章第3节

5.掌握Hadoop的安装和配置。
答:参见《大数据技术与应用》第3章第3节
第四章
1.简述 HDFS的体系架构。
答:Hdfs架构如下图所示:

图 HDFS架构

2.简述 HDFS读数据的流程。 
答:详细流程如下:
(1)首先HDFS的客户端通过Distributed FileSystem(HDFS中API里的一个对象);
(2)通过Distributed FileSystem发送给NameNode请求,同时将用户信息及文件名的信息等发送给NameNode,并返回给DistributedFileSystem,该文件包含的block所在的DataNode位置;
(3)HDFS客户端通过FSDataInputStream按顺序去读取DataNode中的block信息(它会选择负载最低的或离客户端最近的一台DataNode去读block);
(4)FSDataInputStream按顺序一个一个的读,直到所有的block都读取完毕;
(5)当读取完毕后会将FSDataInputStream关闭。
HDFS读数据的流程可如下图所示:

图 HDFS读流程
3.简述 HDFS写数据的流程。 
答:详细流程如下:
(1)首先HDFS的客户端通过Distributed FileSystem(HDFS中API里的一个对象);
(2)通过Distributed FileSystem发送客户端的请求给NameNode(NameNode主要是接受客户端请求)并且会带着文件要保存的位置、 文件名、操作的用户名等信息一起发送给NameNode;
(3)NameNode会给客户端返回了一个FSDataOutputStream,同时也会返回文件要写入哪些DataNode上(负载较低的);
(4)通过FSDataOutputStream进行写操作,在写之前就做文件的拆分,将文件拆分成多个Block,第一个写操作写在负载比较低的DataNode上,并将这个block复制到其他的DataNode上;
(5)当所有的block副本复制完成后会反馈给FSDataOutputStream;
(6)当所有的block副本全都复制完成,就可以将FSDataOutputStream流关闭;
(7)通过Distributed FileSystem更新NameNode中的源数据信息。
HDFS写数据的流程可如下图所示:

图 Hdfs写流程
4.简述 Block副本的存放策略。 
答:在大多数情况下,副本系数是3,HDFS的存放策略是将一个副本存放在本地机架的 节点上,一个副本放在同一机架的另一个节点上,最后一个副本放在不同机架的节点上。
详细请参见《大数据技术与应用》4.1.4

5.编写程序实现对 HDFS文件读写等。
答:请参见《大数据技术与应用》第4章第2节

第五章
1.简述 MapReduce架构。 
答:MapReduce采用Master/Slave的架构,它主要由以下4个部分组成:
  1)Client
  2)JobTracker
  3)TaskTracker:
  4)Task

其架构图如图所示:

图 The Hadoop Ecosystem

2.简述 MapReduce的工作原理。 
答:MapReduce框架的流程可以分为两个阶段来描述:
1.Map阶段
(1)InputFormat根据输入文件产生键值对,并传送到Mapper类的map函数中;
(2)Map输出键值对到一个没有排序的缓冲内存中;
(3)当缓冲内存达到给定值或者map任务完成,在缓冲内存中的键值对就会被排序,然后输出到磁盘中的溢出文件;
(4)如果有多个溢出文件,那么就会整合这些文件到一个文件中,且是排序的;
(5)这些排序过的、在溢出文件中的键值对会等待Reducer的获取。

2.Reduce阶段
(1)Reducer获取Mapper的记录,然后产生另外的键值对,最后输出到HDFS中;
(2)Shuffle:相同的key被传送到同一个的Reducer中;
(3)当有一个Mapper完成后,Reducer就开始获取相关数据,所有的溢出文件会被排到一个内存缓冲区中;
(4)当内存缓冲区满了后,就会产生溢出文件到本地磁盘;
(5)当Reducer所有相关的数据都传输完成后,所有溢出文件就会被整合和排序;
(6)Reducer中的reduce方法针对每个key调用一次;
(7)Reducer的输出到HDFS。

3.简述 MapReduce的工作机制。 
答:
一、MapReduce运行图如图所示:


图 Write-Ahead-Log

二、运行解析:
1.作业的提交
2.作业的初始化
3.作业的分配
4.任务的执行
5.进度和状态的更新
6.作业的完成
三、失败解析:
1.任务失败
2.tasktracker失败
3.jobtracker失败

4.编写 MapReduceWordCount。 
答:参见《大数据技术与应用》第5章第2节

5.实现MapReduce倒排索引编程
答:参见《大数据技术与应用》第5章第2节

第六章
1、简述Hbase数据库
答:
(1)HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
(2)HBase利用Hadoop HDFS作为其文件存储系统,HBase利用Hadoop MapReduce来处理HBase中的海量数据,HBase利用Zookeeper作为协同服务。
(3)HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由Client、HMaster、HRegionServer、ZooKeeper等组成。
(4)HBase是基于列式存储的
(5)HBase以表的形式存储数据

2、简述HBase过滤器的工作过程
答: 
如下图描述了过滤器怎样在客户端进行配置,怎样在网络传输中被序列化,怎样在服务端执行。

图 过滤器的工作过程
3、学会HBase集群部署
答:参见《大数据技术与应用》第6章第2节

4、掌握Hbase Java API编程
答:参见《大数据技术与应用》第6章第5节

5、掌握HBase过滤器编程
答:参见《大数据技术与应用》第6章第5节

第七章
1、统一资源管理和调度平台的优点
答:
(1)支持多种计算框架HBase利用Hadoop HDFS作为其文件存储系统,HBase利用Hadoop MapReduce来处理HBase中的海量数据,HBase利用Zookeeper作为协同服务。
(2)扩展性
(3)容错性
(4) 高资源利用率
相对于第一代Hadoop,YARN把Hadoop中的资源控制、任务调度和具体任务计算的JobTracker/TaskTracker架构,变为ResourceManager、ApplicationMaster、NodeManager、Container、四个功能组件,让资源调度和任务调度更加细粒化。

2、简述Yarn架构及工作流程
答:
总的来说,YARN的工作流程分为以下几个步骤:
1)用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
2)ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用程序的ApplicationMaster。
3)ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4)到7)。
4)ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。
5)一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。
6)NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
7)各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。
8)应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。YARN的工作流程
如图所示:


YARN的工作流程图
3、学会YARN Shell的操作命令
答:参见《大数据技术与应用》第7章第3节

第八章
1. 简述Spark开源框架及其特点。 
答:
Spark架构采用了分布式计算中的Master-Slave模型,Spark架构如下图所示:

图8-2 Spark架构图

2. 简述Spark生态系统及其主要组件。 
答:
Spark主要包括Spark Core和在Spark Core基础之上建立的应用框架Spark SQL、Spark Streaming、MLlib和GraphX。如下图所示。

图 Spark生态系统

除了这些库以外,还有一些其他的库,如BlinkDB和Tachyon。此外,还有一些用于与其他产品集成的适配器,如Cassandra(Spark Cassandra连接器)和R(SparkR)。

3. 简述RDD的基本工作原理和特性。
答:参见《大数据技术与应用》第8章第2节

4. 使用蒙特卡罗方法计算圆周率π值。
答:
step1:首先进入spark安装目录
    cd /opt/spark

Step2:提交任务命令
    bin/spark-submit –class org.apache.spark.examples.SparkPi 
–master spark://master:7077 
–executor-memory 1G 
–total-executor-cores 1 
examples/jars/spark-examples_2.11-2.0.2.jar 
10

注:10是计算的次数
输出:

附:
1.Python源码:
from __future__ import print_function
import sys
from random import random
from operator import add
from pyspark.sql import SparkSession

if __name__ == "__main__":
spark=SparkSession\
        .builder\
        .appName("PythonPi")\
        .getOrCreate()     
partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2        
n = 100000 * partitions    
print(n)

     def f(_):
        x = random() * 2 – 1
        y = random() * 2 – 1
        return 1 if x ** 2 + y ** 2 < 1 else 0

    count = spark.sparkContext.parallelize(range(1, n + 1), partitions).map(f).reduce(add)    print(count)
    print("Pi is roughly %f" % (4.0 * count / n))
    spark.stop()
1.java源码:
public final class JavaSparkPi {
public static void main(String[] args) throws Exception {
int slices = (args.length == 1) ? Integer.parseInt(args[0]) : 2;
int n = 100000 * slices;
List<Integer> l = new ArrayList<Integer>(n);
for (int i = 0; i < n; i++) { l.add(i); }
SparkConf sparkConf = new SparkConf().setAppName("JavaSparkPi");
JavaSparkContext jsc = new JavaSparkContext(sparkConf);
JavaRDD<Integer> dataSet = jsc.parallelize(l, slices);
int count = dataSet.map(new Function<Integer, Integer>() {
    @Override
     public Integer call(Integer integer) {
         double x = Math.random() * 2 - 1;
         double y = Math.random() * 2 - 1;
         return (x * x + y * y < 1) ? 1 : 0; } }).reduce(new Function2<Integer, Integer, Integer>() {
     @Override
     public Integer call(Integer integer, Integer integer2) {
         return integer + integer2;     } });
System.out.println("Pi is roughly " + 4.0 * count / n); jsc.stop();
 }
}

5. 使用Spark实现词频统计和相关系数计算
答:参见《大数据技术与应用》第8章第3节

第九章
1.简述机器学习的基本概念。
答:
机器学习是一个庞大的家族体系,涉及众多算法、任务和学习理论。
详见《大数据技术与应用》第9章第1节 

2.简述机器学习的分类。
答: 
    (1)按任务类型分,机器学习模型可以分为回归模型、分类模型和结构化学习模型。
    (2)从方法的角度分,可以分为线性模型和非线性模型,非线性模型又可以分为传统机器学习模型(SVM,KNN,决策树等)和深度学习模型。
    (3)按照学习理论分,机器学习模型可以分为有监督学习、半监督学习、无监督学习、迁移学习和强化学习。

3.MLlib的数据类型和API函数有哪些? 如何使用?
答:
MLlib提供了以下数据类型:
  (1)Local vector
  (2)Labeled point
  (3)Local matrix
  (4)RowMatrix
  (5)IndexedRowMatrix
  (6)CoordinateMatrix
  (7)BlockMatrix
MLlib提供了以下API:
  (1)基于 DataFrame的 API
  (2)基于 RDD的 API
详见《大数据技术与应用》第9章第2节

4. 3种鸢尾花数据(萼片宽度、萼片长度、 花瓣宽度、花瓣长度)为: (4.9,3.0,1.4,0.2)、(5.0,3.6,1.4,0.2)、(5.2,2.7,3.9,1.4)、(6.1,2.9,4.7,1.4)、(7.7,2.6,6.9,2.3)、(6.6,2.9,4.6,1.3)、(4.4,3.2,1.3,0.2)、(5.7,2.8,4.1,1.3),计算其聚类中心并将数据进行分类。
答:参见《大数据技术与应用》第9章第3节 

5.使用决策树算法对鸢尾花数据进行模型训练和预测。
答:参见《大数据技术与应用》第9章第3节 

第十章
1.简述Hive的组成及执行流程。
答:
Hive的主要模块以及与Hadoop的交互工作如下图所示:

图 Hive组成模块
下图显示Hive与Hadoop交互的主要组件,这些组件如下:
(1)UI——包括Shell命令、JDBC/ODBC和WebUi,其中最常用的是shell这个客户端方式对Hive进行相应操作。
(2)Driver——Hive解析器的核心功能就是根据用户编写的SQL语法匹配出相应的MapReduce模板,形成对应的MapReduce job进行执行。
(3)Compiler——将HiveQL编译成有向无环图(Directed Acyclic Graph,DAG)形式的MapReduce任务。
(4)Metastore——Hive将表中的元数据信息存储在数据库中,如derby、MySQL,Hive中的元数据信息包括表的名字、表的列和分区、表的属性(是否为外部表等)、表的数据所在的目录等。编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。
(5)Execution Engine——执行编译器产生的执行计划,该计划是一个有向无环图,执行引擎管理这些计划的不同阶段之间的依赖关系,并在相关组件上执行这些阶段。

图 Hive执行流程

2.比较ARRAY、MAP和STRUCT这3种数据类型的区别
答:
复杂数据类型包括ARRAY、MAP、STRUCT,这些复杂数据类型是由基础类型组成的,如下表所示:
数据类型
描述
例子

ARRAY
一组有序字段。字段的类型必须相同。例如:数组A的值为[ 1, 2 ],则第2个元素为A[1]。
ARRAY( 1, 2 )

MAP
一组无序的键/值对。键的类型必须是原子的,值可以是任何类型,同一个映射的键的类型必须相同,值得类型也必须相同。例如:MAP数据M的键-值对 &apos;a&apos; -> 1, &apos;b&apos; -> 2,则&apos;b&apos;的值为M[ &apos;b&apos; ]。
MAP( ‘a’, 1, ‘b’, 2 )

STRUCT
一组命名的字段。字段类型可以不同。例如:name为STRUCT{ first STRING, last STRING },则使用name.last引用name中last的值。
STRUCT( &apos;a&apos;, 1, 2 )

表 复杂数据类型

3.举例Hive文件格式的JSON 表示
答:
教材中的数据以json形式表示
{
"name": "王可塘",
"salary": 12000.0,
"degree": ["学士", "硕士"],
"dues": {
"公积金": .2,
"保险金":  .05,
"养老金":  .1
},
"address":{
"province": "广东省",
"city": "汕尾市",
"street": "莲塘街36号.",
"zip":  516600} 
}

4.使用HSQL进行词频统计。 
答:参考《大数据技术与应用》第十章第5节

5.从腾讯证券下载股市行情,使用Hive进行分析。
答:参见《大数据技术与应用》第十章第6节

第十一章
1.简述ZooKeeper协调服务。
答:
分布式协调服务有Paxos、 ZooKeeper、Chubby和Fourinone等。

2.简述ZAB协议。
答:
 (1)所有的事务请求必须一个全局唯一的服务器   (Leader)来协调处理,集群其余的服务器称为follower服务器。
 (2) ZAB协议分为四个阶段:阶段0为leader选  举,阶段1为发现,阶段2为同步,    阶段3为广播。而实际实现时将发现及同步阶段合并为一个恢复阶段。
 (3) ZAB协议分两大块:恢复和广播。

3.简述ZooKeeper事件监听器工作流程。
答:
ZooKeeper的Watcher机制主要包括客户端线程、客户端WatchManager和ZooKeeper服务器三部分。其工作流程:客户端在向ZooKeeper服务器注册Watcher的同时,会将Watcher对象存储在客户端的WatchManager中。当ZooKeeper服务器端触发Watcher事件后,会向客户端发送通知,客户端线程从WatchManager中取出对应的Watcher对象执行回调逻辑,如下图所示。

图 Watcher工作流程

4.简述ZooKeeper如何解决YARN中ResourceManager单点故障问题。
答:
为了解决 ResourceManager单点问题,YARN 设计了一套 Active/Standby模式的 ResourceManagerHA架构,如下图所示:

图YARN HA架构

5.编写程序实现ZNode的增加、删除等。
答:参见《大数据技术与应用》第11章第5节

第十二章
1.简述大数据分析平台的原理及功能。
答:
功能:
(1)流量分析 、
(2)经营状况分析、
(3)大数据可视化系统

医药大数据分析平台方案主要分为三部分:数据采集子系统、数据分析子系统和数据报表呈现子系统。详情如下表所示:

子系统
系统定义
交互接口

大数据采集子系统
系统以离线批处理方式,推送采集结果数据给大数据分析平台。
(1)采集大数据接收的格式,(2)大数据接口定义

大数据分析子系统
接收采集系统的数据,客户行为分析,不同药品的精准预测算法,药品推荐算法等特色功能。生成分析结果数据
(1)大数据的存储,(2)客户行为模型,(3)流量分析模型,(4)统计分析模型

大数据报表呈现子系统
采用Web的方案,进行大数据分析结果的呈现,分析结果以报表、图表的方式呈现给医药电子商务商家。
以交互接口、调用报表数据的等方式获取需要的结果。

图 系统组成

医药大数改系统的子系统间的协作方式如下图所示。

图 系统协作

该系统的网络拓扑图如下图所示。医药电商系统以批处理方式,推送采集数据给大数据分析平台,存储到Hadoop集群,大数据报表服务器通过交换机和集群相连。
图 系统网络拓扑

2.简述大数据分析平台的功能。
答:
功能:
    (1)流量分析 
    (2)经营状况分析
    (3)大数据可视化系统

3.简述大数据分析平台的系统组成。
答:
医药大数据分析平台方案主要分为三部分:数据采集子系统、数据分析子系统和数据报表呈现子系统。详情如下表所示:

子系统
系统定义
交互接口

大数据采集子系统
系统以离线批处理方式,推送采集结果数据给大数据分析平台。
(1)采集大数据接收的格式,(2)大数据接口定义

大数据分析子系统
接收采集系统的数据,客户行为分析,不同药品的精准预测算法,药品推荐算法等特色功能。生成分析结果数据
(1)大数据的存储,(2)客户行为模型,(3)流量分析模型,(4)统计分析模型

大数据报表呈现子系统
采用Web的方案,进行大数据分析结果的呈现,分析结果以报表、图表的方式呈现给医药电子商务商家。
以交互接口、调用报表数据的等方式获取需要的结果。

表 系统组成
4.简述大数据分析平台涉及的关键技术。
答:
  Hadoop作为分布式计算平台。
  Hbase作为分布式数据存储数据库。
  Bootstrap作为页面搭建框架。
  jQuery进行后台交互操作。
  EChart实现数据可视化。
5.简述大数据分析平台的存储方式。
答:
结合医药电商数据的具体特点和上述的设计及优化策略,为了满足商家用户进行流量分析、销售分析、药品推荐等需求,从而设计流量数据表、订单数据表、会员评价表,具体内容如下表所示:
  1.流量数据表
RowKey
列族 cf

<platformtype><clicktime><userId>
sessionId
userId
trackUid
userAgent
referer


  2.订单数据表
RowKey
列族 cf

<orderId><userId>
orderId
userId
orderNum
Payment
totalAmount
isCod
orderStatus


具体请参见《大数据技术与应用》第12章第7节

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据原理应用是指通过收集、存储、处理和分析大规模数据来获得业务洞察以实现商业价值的一种技术。大数据原理包括数据的采集、存储、处理和分析等环节,而大数据应用则是通过对大数据的挖掘和分析来解决实际问题和提升业务效益。 在大数据原理方面,数据采集是第一步,可以通过各种传感器、数据接口、互联网爬虫等方式获取不同来源和类型的数据。数据存储则需要选择适合大数据处理的分布式数据库、数据仓库或者云存储等技术。数据处理是指对大规模数据进行清洗、转换和整合的过程,常用的技术包括MapReduce、Spark等。数据分析则是通过多维度的统计、机器学习和人工智能算法来对数据进行深入挖掘,并得出对业务有价值的结论。 在大数据应用方面,由于大数据量和复杂性,需要借助各种数据挖掘和分析技术来发现隐藏在数据中的模式和规律,以便做出有意义的决策。例如,在金融行业,可以通过大数据分析进行风险评估和欺诈检测;在物流行业,可以通过大数据优化路线和配送计划,提高运输效率。 此外,大数据应用还可以支持智能决策。通过对大数据的分析,可以帮助企业预测市场需求、优化产品设计,提高企业竞争力。例如,亚马逊通过对用户购物行为的数据分析,实现了个性化推荐,提高了购物体验和销售额。 综上所述,大数据原理应用是一个涉及数据采集、存储、处理和分析的全过程,通过挖掘大数据潜在价值,帮助企业做出更明智的决策,提升商业价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值