spark快速大数据分析pdf电子书完整版|百度网盘下载

小编点评:spark fast大数据分析pdf百度云

大数据是近年来备受关注的一个概念。如今,互联网不断发展,逐渐渗透到我们生活的各个层面,随之而来的是数据量呈指数级增长。使用 Spark 进行大规模数据分析的实战合集由著名大数据公司 Cloudera 的数据科学家编写。有需要就下载吧

相关内容部分预览

简介

使用 Spark 进行大规模数据分析的实用指南,由知名大数据公司 Cloudera 的数据科学家撰写。四位作者首先以数据科学和大数据分析方面的广泛背景解释了 Spark,

然后介绍了使用 Spark 和 Scala 进行数据处理的基础知识,然后讨论了如何使用 Spark 进行机器学习,并介绍了一些在常见应用中最常用的算法。此外,还收集了一些更新颖的应用,例如查询维基百科或通过文本隐含语义关系分析遗传数据。

Spark fast 大数据分析目录

第 1 章 Spark 数据分析简介 1

1.1 什么是 Spark 1

1.2 统一的软件栈2

1.2.1 星火核心 2

1.2.2 Spark SQL 3

1.2.3 Spark Streaming 3

1.2.4 MLlib 3

1.2.5 GraphX 3

1.2.6 集群管理器 4

1.3 Spark 4 的用户和使用

1.3.1 数据科学任务 4

1.3.2 数据处理应用 5

1.4 Spark 5 简史

1.5 Spark 版本和发行版 6

1.6 Spark 的存储层次结构 6

第 2 章 Spark 下载和入门 7

2.1 下载 Spark 7

2.2 Spark 9 中的 Python 和 Scala shell

2.3 Spark核心概念介绍12

2.4 独立应用程序 14

2.4.1 初始化 SparkContext 15

2.4.2 构建独立应用程序 16

2.5 总结 19

Spark Fast 大数据分析分析

Spark 是一种流行的大数据集群计算框架,被大数据工程师、大数据科学家和大数据分析师普遍用于各种用例。根据具体情况,每种用户类型都需要一定范围的数据访问权限。

与 Presto 等其他具有内置授权框架和细粒度访问控制的大数据引擎不同,Spark 可以直接访问存储在 Qubole Metastore 中的所有表和资源(利用 Apache Hive)。这不仅是一个安全问题,

并阻碍增长和企业采用。因此,我们有必要在 Qubole 平台上引入一个新的 Spark 数据访问控制框架。

1、目标

1、以下是在引入 Spark 访问控制框架时需要考虑的一些最重要的设计目标:

2、细粒度的访问控制应该统一应用于各种大数据引擎。

3、必须通过任何引擎查看或编辑策略,以提供一致且可预测的行为。

4、支持 SparkSQL 访问方式,例如数据帧或 SQL 语句。

5、该框架必须易于与 Hive Authorization 或 Apache Ranger 等各种策略管理器集成。

2、实现细节

考虑到这些要求,我们决定实施 Hive 授权作为我们的第一个策略管理器。 Hive 授权策略存储在 Qubole Metastore 中,它充当共享的中心组件,并存储与 Hive 资源相关的元数据,例如 Hive 表。

在访问 Hive 表或添加和修改这些策略时,Spark 尊重存储在 Qubole Metastore 中的策略。

总之,我们实现了一个与今天的 Apache Hive 或 Presto 相同的 SQL 标准访问控制层。以下部分详细描述了架构并提供了一个如何工作的示例。

3、建筑

授权逻辑嵌入在 Spark Catalyst 框架的解析器层中。分析工具的规则负责解析“数据库”、“表”、“列”等实体。从计划中提取有关不同已解析实体的信息,

并将其传递给 Hive 授权方,该授权方已经拥有有关用户的信息。然后,Hive 授权方使用 Qubole Metastore 中存在的安全策略执行资源级别检查,如果用户缺乏运行权限以引发 HiveAccessControlException,则停止执行查询。

4、限制表级访问

1、假设我们有一个 Hive 表“salary”,其定义如下:

出于数据治理目的,应允许属于财务团队的用户“Jane”访问这些表,而应限制 IT 用户“Robin”访问这些表。

2、任何属于“admin”角色的用户都可以通过以下步骤限制对该表的访问:

A.创建一个新角色并将该角色授予应该有权访问该表的用户,在本例中为用户“Jane”。

(user)sql> 设置角色管理员;

(user/admin)sql> 创建角色财务;

(user/admin)sql>向用户 Jane 授予资金;

B.为“财务”角色提供“选择”权限。

(用户/管理员)SQL>Grant Grants on Payroll to Select Roles;

3、当“Jane”在承担“SET ROLE ALL”命令授予的所有角色后访问表时,将显示以下结果。 C

4、当“Robin”或任何其他没有被赋予“Finance”角色的用户尝试相同的过程时,我们可以预期会发生这种情况

5、限制列和行访问

可以通过视图实现高级用例,例如限制列或行访问。例如,假设我们有一个名为“finance_intern”的新角色,它不能访问“salary”表中的“salary”列,而只能访问与“finance”部门关联的行。

A.和以前一样,任何属于 admin 角色的用户都可以创建一个包含三列(emp_id、emp_name、dept_name)的新视图,在 dept_name 上添加一个过滤器,并提供 Finance-intern 角色。访问这个新视图而不是基表。

Spark Fast大数据分析分析-AAA教育www.aaa-cg.com.cn

(user)sql> 设置角色管理员;

(user/admin)sql> CREATE VIEW payroll_view AS

从工资单中选择 emp_id、emp_name、dept_name

dept_name = '财务';

(user/admin)sql> GRANT SELECT ON payroll_view TO ROLE finance_intern;

B.分配了“finance_intern”角色的用户可以担任该角色并访问视图。结果如下:

(user)SQL> SET ROLE finance_intern;

C.由于此角色未授予对基表的访问权限,因此如果用户尝试访问未经授权的数据,我们将收到 HiveAccessControlException。

阅读剩余
THE END