第五篇|Spark-Streaming编程指南(2)

第四篇|Spark-Streaming编程指南(1)对Spark Streaming执行机制、Transformations与Output Operations、Spark Streaming数据源(Sources)、Spark Streaming 数据汇(Sinks)进行了讨论。本文将延续上篇内容,主要包括以下内容:

阅读全文

第四篇|Spark Streaming编程指南(1)

Spark Streaming是构建在Spark Core基础之上的流处理框架,是Spark非常重要的组成部分。Spark Streaming于2013年2月在Spark0.7.0版本中引入,发展至今已经成为了在企业中广泛使用的流处理平台。在2016年7月,Spark2.0版本中引入了Structured Streaming,并在Spark2.2版本中达到了生产级别,Structured Streaming是构建在Spark SQL之上的流处理引擎,用户可以使用DataSet/DataFreame API进行流处理,目前Structured Streaming在不同的版本中发展速度很快。值得注意的是,本文不会对Structured Streaming做过多讲解,主要针对Spark Streaming进行讨论,包括以下内容:

阅读全文

第三篇|Spark SQL编程指南

《第二篇|Spark Core编程指南》一文中,对Spark的核心模块进行了讲解。本文将讨论Spark的另外一个重要模块–Spark SQL,Spark SQL是在Shark的基础之上构建的,于2014年5月发布。从名称上可以看出,该模块是Spark提供的关系型操作API,实现了SQL-on-Spark的功能。对于一些熟悉SQL的用户,可以直接使用SQL在Spark上进行复杂的数据处理。通过本文,你可以了解到:

阅读全文

第二篇|Spark core编程指南

《第一篇|Spark概览》一文中,对Spark的整体面貌进行了阐述。本文将深入探究Spark的核心组件–Spark core,Spark Core是Spark平台的基础通用执行引擎,所有其他功能均建立在该引擎之上。它不仅提供了内存计算功能来提高速度,而且还提供了通用的执行模型以支持各种应用程序,另外,用户可以使用Java,Scala和Python API开发应用程序。Spark core是建立在统一的抽象RDD之上的,这使得Spark的各个组件可以随意集成,可以在同一个应用程序中使用不同的组件以完成复杂的大数据处理任务。本文主要讨论的内容有:

阅读全文

第一篇|Spark概览

Apache Spark最初在2009年诞生于美国加州大学伯克利分校的APM实验室,并于2010年开源,如今是Apache软件基金会下的顶级开源项目之一。Spark的目标是设计一种编程模型,能够快速地进行数据分析。Spark提供了内存计算,减少了IO开销。另外Spark是基于Scala编写的,提供了交互式的编程体验。经过10年的发展,Spark成为了炙手可热的大数据处理平台,目前最新的版本是Spark3.0。本文主要是对Spark进行一个总体概览式的介绍,后续内容会对具体的细节进行展开讨论。本文的主要内容包括:

阅读全文

数仓|大数据时代,维度建模过时了吗?

20世纪80年代末期,数据仓库技术兴起。自Ralph Kimball 于1996 年首次出版The Data Warehouse Toolkit(Wiley)一书以来,数据仓库和商业智能(Data Warehousing and Business Intelligence, DW/BI)行业渐趋成熟。Kimball提出了数据仓库的建模技术–维度建模(dimensional modelling),该方法是在实践观察的基础上开发的。虽然它不基于任何理论,但是在实践中却非常成功。维度建模被视为设计数据仓库和数据集市的主要方法,对数据建模和数据库设计学科有着重要的影响。时至今日,维度建模依然是构建数仓首选的数据建模方法,但是随着技术的发展,获取超强的存储与计算能力的成本会变得很廉价。这在无形之中对传统的维度建模方法产生了一定的影响。本文将讨论以下内容:

阅读全文