《spark编程基础(python)版》第一章習題

  1. (简答题) 简述大数据处理的基本流程。

大数据处理的基本流程主要包括:数据采集、存储管理、处理分析、结果呈现等环节。

  1. (简答题) 请列举hadoop生态系统的各个组件及其功能。
    在这里插入图片描述

Ambari就是创建、管理、监视 Hadoop 的集群,是为了让 Hadoop 以及相关的大数据软件更容易使用的一个web工具。

Zookeeper:分布式协调服务基础组件,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理。

Hbase:基于HADOOP的分布式海量数据库。

Hive:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具。

Pig:一种数据流语言和运行环境,常用于检索和分析数据量较大的数据集。

Mahout:主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB或Cassandra)集成等数据挖掘支持架构。

MapReduce是一种分布式计算模型,用以进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分。
Map阶段并行处理输入数据。Reduce 阶段对 Map结果进行汇总。

Flume是一个分布式,可靠且可用的系统,可以有效地从许多不同的源收集,聚合和移动大量日志数据到集中式数据存储。

HDFS就是一个分布式文件系统,一个文件系统,用它来存数据。

Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

  1. (简答题) 简述hdfs的namenode和datanode的功能分别是什么。

NameNode负责管理整个文件系统的元数据 DataNode 负责管理用户的文件数据块

  1. (简答题) 简述mapreduce的基本设计思想。

MapReduce采用“分而治之”思想,把对大规模数据集的操作,分发给一个主节点管理下的各个子节点共同完成,然后整合各个子节点的中间结果,得到最终的计算结果。
简而言之, MapReduce 就是“分散任务,汇总结果”。
总而言之,分为三点:
1对付大数据并行处理:分而治之
2上升到抽象模型:Map与Reduce
3上升到构架:以统一构架为程序员隐藏系统层细节

  1. (简答题) 与hadoop相比,spark具有哪些优点。

Spark主要具有如下优点:

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

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

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

使用Hadoop进行迭代计算非常耗资源

Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据


版权声明:本文为zmt21原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。