transform - transformations chain发表于2020-04-10更新于2023-01-10字数统计622阅读时长5分前言transform 是一个灵活的转换算子,接收一个自定义的函数作为参数来处理计算逻辑。它最大的功能是链接多个自定义的转换算子,简化代码,将相似的计算统一起来。本文会通过两个例子来介绍 transform 的功能。阅读全文
Hadoop是什么发表于2020-04-08更新于2023-01-10字数统计739阅读时长4分HadoopHadoop 是海量数据分布式存储和计算框架,脱身于 Google 三大论文。现在我们常说的 Hadoop 往往指的是 Hadoop 生态圈。阅读全文
UDAF - User Defined Aggregate Functions发表于2020-03-31更新于2023-01-10字数统计837阅读时长7分前言UDF 是基于列的自定义处理函数。UDAF 是基于多行的自定义处理函数。UDAF 用于 Untyped Dataset,Aggregator 用于处理自定义 Scala 对象构成的数据集的聚合。本文主要以三个例子来实现简单的 UDAF 和 Aggregator。阅读全文
Aggregate - 普通的聚合计算和基于 window 的聚合计算发表于2020-03-26更新于2023-01-10字数统计2.8k阅读时长25分前言聚合计算对于数据统计有着重要的作用,比如常见的 Top N 问题。本文主要介绍常见的聚合计算函数以及基于 Window 的处理。阅读全文
UDF - User Defined Functions发表于2020-03-24更新于2023-01-10字数统计613阅读时长5分前言Spark 本身提供的算子可以满足我们大多数的需求,并且我们可以组合各种算子,但是计算处理逻辑往往是复杂的。有些转换逻辑需要我们自定义函数才可以实现,这些自定义函数就是 UDF。UDF 是基于列的函数,拓展了 Spark SQL DSL,用于转换数据集。阅读全文
Build In Functions发表于2020-03-23更新于2023-01-10字数统计1.7k阅读时长15分前言需要处理的数据结构往往是复杂的,在 Spark 中该如何操作 Map,Array,struct 这些结构呢?Spark 已经为我们提供了很多内置函数来处理这一切。这些函数大多定义在 org.apache.saprk.sql.functions。阅读全文
Actions - Trigger real calculations发表于2020-03-23更新于2023-01-10字数统计912阅读时长5分前言你可能已经知道 action 会触发提交 Spark 作业,开始进行真正的计算。那么 action 到底是什么,又是如何触发计算的呢?希望本篇可以带你了解这些东西。阅读全文
Transformations - Transform Your Dataset发表于2020-03-23更新于2023-01-10字数统计1.1k阅读时长8分前言由前面提到的 Spark 计算模型,我们可以知道 Spark 的数据计算在本质上是 RDD 的迭代转换。本文要讲的就是涉及到转换操作的转换算子 transformations 。通过这些转换算子,你就可以完成定义在数据集上的各种计算了,就和 SQL 一样。阅读全文
Schema - Describe Structure of Data发表于2020-03-23更新于2023-01-10字数统计739阅读时长6分前言Schema 描述并规范数据的结构组成。在 Spark SQL 中,你所处理的每个 df, ds 都有自己的 schema。阅读全文
DataSource API - Managing Datasets in External Data Sources发表于2020-03-23更新于2023-01-10字数统计2.7k阅读时长23分前言前面已经讲解了 Spark SQL 程序的入口,使用到的数据结构以及一些定义在上面的简单操作。那么我们工作中该如何将各种数据源中的数据转换成 Spark SQL 可以处理的数据结构进而进行各种计算呢?这就是本篇幅要讲解的 DataSource API(DataSource API 提供了读写各种数据源的 format,你甚至可以自定义 format 来连接外部数据源)。阅读全文