1.Spark基础知识
1.Spark是什么?
UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架
dfsSpark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。
2.Spark与Hadoop的对比(Spark的优势)
1、Spark的中间数据放到内存中,对于迭代运算效率更高
2、Spark比Hadoop更通用
3、Spark提供了统一的编程接口
4、容错性– 在分布式数据集计算时通过checkpoint来实现容错
5、可用性– Spark通过提供丰富的Scala, Java,Python API及交互式Shell来提高可用性
3.Spark有那些组件
1、Spark Streaming:支持高吞吐量、支持容错的实时流数据处理
2、Spark SQL, Data frames: 结构化数据查询
3、MLLib:Spark 生态系统里用来解决大数据机器学习问题的模块
4、GraphX是构建于Spark上的图计算模型
5、SparkR是一个R语言包,它提供了轻量级的方式使得可以在R语言中使用 Spark
2.DataFrame相关知识点
1.DataFrame是什么?
DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格。
2.DataFrame与RDD的主要区别在于?
DataFrame带有schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这使得SparkSQL得以洞察更多的结构信息,从而对藏于DataFrame背后的数据源以及作用于DataFrame之上的变换进行了针对性的优化,最终达到大幅提升运行时效率的目标。反观RDD,由于无从得知所存数据元素的具体内部结构,Spark Core只能在stage层面进行简单、通用的流水线优化。
3.DataFrame 特性
1、支持从KB到PB级的数据量
2、支持多种数据格式和多种存储系统
3、通过Catalyst优化器进行先进的优化生成代码
4、通过Spark无缝集成主流大数据工具与基础设施
5、API支持Python、Java、Scala和R语言
列式存储格式 Parquet
Parquet 是面向分析型业务的列式存储格式,由 Twitter 和 Cloudera 合
作开发, 2015 年 5 月从 Apache 的孵化器里毕业成为 Apache 顶级项
目,最新的版本是 1.8.0 。
列式存储和行式存储相比的优势 :
可以跳过不符合条件的数据,只读取需要的数据,降低 IO 数据量。
压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样
的,可以使用更高效的压缩编码(例如 Run Length Encoding 和 Delta
Encoding )进一步节约存储空间。
只读取需要的列,支持向量运算,能够获取更好的扫描性能。
适用场景:
在互联网大数据应用场景下,大部分情况下,数据量很大且数据字段
数目很多,但每次查询数据只针对其中的少数几行,这时候列式存储
Hive操作
Hive
Hive查询语言-Hql
-创建数据库
hive> CREATE DATABASE IF NOT EXISTS financials;
hive> SHOW DATABASES;
hive> DROP DATABASE IF EXISTS financials;
-查看表
hive>show tables;
创建表
其他知识点
MLlib是
spark的可以扩展的机器学习库,由以下部分组成:通用的学习算法和工具类,包括分类,回归,聚类,协同过滤,降维
数据分析常见模式:
1、Iterative Algorithms,
2、Relational Queries,
3、MapReduce,
4、Stream Processing
Scala的好处:
1、面向对象和函数式编程理念加入到静态类型语言中的混合体
2、Scala的兼容性—-能够与Java库无缝的交互
3、Scala的简洁性—-高效,更不容易犯错
4、Scala的高级抽象
5、Scala是静态类型—-类型推断
6、Scala是可扩展的语言
7.基础问答题
1.你理解的Hive和传统数据库有什么不同?各有什么试用场景。
1、数据存储位置。Hive是建立在Hadoop之上的,所有的Hive的数据都是存储在HDFS中的。而数据库则可以将数据保存在块设备或本地文件系统中。
2、数据格式。Hive中没有定义专门的数据格式,由用户指定,需要指定三个属性:列分隔符,行分隔符,以及读取文件数据的方法。数据库中,存储引擎定义了自己的数据格式。所有数据都会按照一定的组织存储。
3、数据更新。Hive的内容是读多写少的,因此,不支持对数据的改写和删除,数据都在加载的时候中确定好的。数据库中的数据通常是需要经常进行修改。
4、执行延迟。Hive在查询数据的时候,需要扫描整个表(或分区),因此延迟较高,只有在处理大数据是才有优势。数据库在处理小数据是执行延迟较低。
5、索引。Hive没有,数据库有
6、执行。Hive是MapReduce,数据库是Executor
7、可扩展性。Hive高,数据库低
8、数据规模。Hive大,数据库小
2.Hive的实用场景如下:
1、Data Ingestion (数据摄取)
2、Data Discovery(数据发现)
3、Data analytics(数据分析)
4、Data Visualization & Collaboration(数据可视化和协同开发)
SPSS统计分析在大数据的应用测试题—答案
1. 大数据分析与挖掘方法论被称为CRISP-DM方法是以数据为中心迭代循环进行的六步活动,它们分别是:商业理解、数据理解、数据准备、建立模型_、模型评估、结果部署_。
数据分析挖掘方法大致包含 ( _A B C D E F ):
A. 分类 Classification
B. 估计Estimation
C. 预测Prediction
D. 关联规则Association Rules
E. 聚类Cluster
F. 描述与可视化Description and Visualization
在数据分析与挖掘中对数据的访问性要求包括:交互性访问、批处理访问_、迭代计算、数据查询,HADOOP仅仅支持了其中批处理访问,而Spark则支持所有4种方式。
3.Spark作为计算框架的优势是什么?
1、Spark的中间数据放到内存中,对于迭代运算效率更高
2、Spark比Hadoop更通用
3、Spark提供了统一的编程接口
4、容错性– 在分布式数据集计算时通过checkpoint来实现容错
5、可用性– Spark通过提供丰富的Scala, Java,Python API及交互式Shell来提高可用性。
文章来源于网络侵删
领取专属 10元无门槛券
私享最新 技术干货