当前位置: 100md首页 > 电子书籍 > 资料下载2021 >
编号:46695
spark快速大数据分析.pdf
http://www.100md.com 2020年11月16日
第1页
第10页
第13页
第30页
第38页

    参见附件(16253KB,231页)。

    spark快速大数据分析百度云

    大数据是近几年广受关注的一个概念。今天,互联网不断发展,逐渐深入我们生活的各个层面,随之而来的是数据量的指数级增长,使用Spark进行大规模数据分析的实战宝典,由著名大数据公司Cloudera的数据科学家撰写,有需要的就快来吧

    相关内容部分预览

    

    内容介绍

    使用Spark进行大规模数据分析的实战宝典,由著名大数据公司Cloudera的数据科学家撰写。四位作者首先结合数据科学和大数据分析的广阔背景讲解了Spark,然后介绍了用Spark和Scala进行数据处理的基础知识,接着讨论了如何将Spark用于机器学习,同时介绍了常见应用中几个最常用的算法。此外还收集了一些更加新颖的应用,比如通过文本隐含语义关系来查询Wikipedia或分析基因数据。

    Spark快速大数据分析目录

    第1章 Spark数据分析导论1

    1.1 Spark是什么1

    1.2 一个大一统的软件栈2

    1.2.1 Spark Core2

    1.2.2 Spark SQL3

    1.2.3 Spark Streaming3

    1.2.4 MLlib3

    1.2.5 GraphX3

    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 Spark7

    2.2 Spark中Python和Scala的shell9

    2.3 Spark 核心概念简介12

    2.4 独立应用14

    2.4.1 初始化SparkContext15

    2.4.2 构建独立应用16

    2.5 总结19

    浅析spark快速大数据分析

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

    与其他像Presto这样具有内置授权框架和细粒度访问控制的大数据引擎不同,Spark可以直接访问Qubole Metastore(利用Apache Hive)中存储的所有表和资源。这不仅带来安全问题,而且阻碍了增长和企业采用。因此,我们很有必要在Qubole平台上引入新的Spark数据访问控制框架。

    一、目标

    1、这些是介绍Spark访问控制框架时考虑的一些最重要的设计目标:

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

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

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

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

    二、实施细节

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

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

    总之,我们实现了一个SQL标准访问控制层,该层与当今的Apache Hive或Presto中的层相同。以下各节详细介绍了体系结构,并提供了一个示例说明其工作原理。

    三、建筑

    授权逻辑嵌入在Spark Catalyst Framework 的分析器层内部。分析工具的规则负责解析“数据库”,“表”和“列”等实体。从计划中提取有关不同已解析实体的信息,并将其传递给Hive 授权器,后者已经具有有关用户的信息。然后,Hive授权器使用Qubole Metastore中存在的安全策略执行资源级别检查,如果用户缺少抛出HiveAccessControlException的运行特权,则该查询将停止执行查询。

    四、限制表级访问

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

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

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

    A、创建一个新角色,并将此角色授予应该有权访问该表的用户,在这种情况下,将其授予用户“ Jane”。

    (用户)sql> SET ROLE admin;

    (用户/管理员)sql> CREATE ROLE finance;

    (用户/管理员)sql>向用户Jane授予资金;

    B、向角色“金融”提供“选择”特权。

    (用户/管理员)SQL>在工资单上授予资助以选择角色;

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

    4、当“罗宾”或未获得“财务”角色的任何其他用户尝试相同的流程时,我们可以预期会发生

    五、限制列和行访问

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

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

    浅析spark快速大数据分析-AAA教育www.aaa-cg.com.cn

    (用户)sql> SET ROLE admin;

    (用户/管理员)sql> CREATE VIEW payroll_view AS

    SELECT emp_id,emp_name,dept_name FROM工资单

    dept_name ='财务';

    (用户/管理员)sql> GRANT SELECT ON payroll_view TO ROLE finance_intern;

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

    (用户)SQL> SET ROLE finance_intern;

    C、由于访问基表没有被授予这个角色,我们会得到一个HiveAccessControlException如果用户试图访问未经授权的数据。

    spark快速大数据分析百度云截图