摘要:
架构产生的动力主要源自以下几个方面: 自动化程度有限:对于需要人工干预才能完成的工作,即使存在一定程度的自动化,仍需要架构来协助规划和设计。 个体能力和专注度有限:每个人都有自己擅长的领域,但由于个人能力和专注度的限制,单个人很难完成复杂系统的设计和实施。因此,需要将工作分解并委托给不同擅长领域的角 阅读全文
摘要:
架构产生的动力主要源自以下几个方面: 自动化程度有限:对于需要人工干预才能完成的工作,即使存在一定程度的自动化,仍需要架构来协助规划和设计。 个体能力和专注度有限:每个人都有自己擅长的领域,但由于个人能力和专注度的限制,单个人很难完成复杂系统的设计和实施。因此,需要将工作分解并委托给不同擅长领域的角 阅读全文
摘要:
Spark 有许多优势,其中一些主要优势包括: 速度:Spark 基于内存计算,能够比基于磁盘的计算快很多。对于迭代式算法和交互式数据挖掘任务,这种速度优势尤为明显。 易用性:Spark 支持多种语言,包括 Java、Scala、Python 和 R。它提供了丰富的内置 API,可以帮助开发人员更快 阅读全文
摘要:
Spark Core Spark Core 是 Spark 的基础,它提供了内存计算的能力,是分布式处理大数据集的基础。它将分布式数据抽象为弹性分布式数据集(RDD),并为运行在其上的上层组件提供 API。所有 Spark 的上层组件都建立在 Spark Core 的基础之上。 Spark SQL 阅读全文
摘要:
当优化器在编译时无法识别可跳过的分区时,可以使用"动态分区裁剪",即基于运行时推断的信息来进一步进行分区 裁剪。这在星型模型中很常见,星型模型是由一个或多个并且引用了任意数量的维度表的事实表组成。在这种连接操 作中,我们可以通过识别维度表过滤之后的分区来裁剪从事实表中读取的分区。在一个TPC-DS基 阅读全文
摘要:
由于缺乏或者不准确的数据统计信息(元数据)和对成本的错误估算(执行计划调度)导致生成的初始执行计划不理想 在Spark3.x版本提供Adaptive Query Execution自适应查询技术 通过在”运行时”对查询执行计划进行优化, 允许Planner在运行时执行可选计划,这些可选计划将会基于运 阅读全文
摘要:
1. DataFrame因为存储的是二维表数据结构,可以被针对,所以可以 自动优化执行流程。 2. 自动优化依赖Catalyst优化器 3. 自动优化2个大的优化项是:1. 断言(谓词)下推(行过滤) 2. 列 值裁剪(列过滤) 4. DataFrame代码在被优化有,最终还是被转换成RDD去执行 阅读全文
摘要:
1. SparkSQL支持UDF和UDAF定义,但在Python中,暂时只能定义 UDF 2. UDF定义支持2种方式, 1:使用SparkSession对象构建. 2: 使用 functions包中提供的UDF API构建. 要注意, 方式1可用DSL和SQL 风格, 方式2 仅可用于DSL风格 阅读全文
摘要:
1. DataFrame 在结构层面上由StructField组成列描述,由 StructType构造表描述。在数据层面上,Column对象记录列数据 ,Row对象记录行数据 2. DataFrame可以从RDD转换、Pandas DF转换、读取文件、读取 JDBC等方法构建 3. spark.re 阅读全文
摘要:
DataFrame是一个二维表结构, 那么表格结构就有无法 绕开的三个点 行 列 表结构描述 比如,在MySQL中的一张表: 由许多行组成 数据也被分成多个列 表也有表结构信息(列、列名、列类型、列约束等) 基于这个前提,DataFrame的组成如下: 在结构层面: - StructType对象描述 阅读全文
摘要:
1. SparkSQL 和 Hive同样,都是用于大规模SQL分布式计算的计算框 架,均可以运行在YARN之上,在企业中广泛被应用 2. SparkSQL的数据抽象为:SchemaRDD(废弃)、DataFrame( Python、R、Java、Scala)、DataSet(Java、Scala)。 阅读全文
|