首页
学习
活动
专区
工具
TVP
发布

年薪50万+的大数据工程师需要具备哪些技能?

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来提高可用性。

文章来源于网络侵删

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190712A05T8Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券