编译:诚历,阿里巴巴计算平台事业部 EMR 技术专家,Apache Sentry PMC,Apache Commons Committer,目前从事开源大数据存储和优化方面的工作。
原文链接 :http://blog.madhukaraphatak.com/data-modeling-spark-part-1/
数据建模是数据分析重要的组成之一,正确的建立模型有助于用户更好地解答业务相关的问题。在过去几十年中,数据建模技术也一直是SQL数据仓库的基础。
Apache Spark作为新一代的数仓技术的代表,我们能够在 Spark 中使用早期的数据建模技术。这使得Spark data pineline 更加有效。
在本系列文章中,我将讨论spark中不同的数据建模。本系列的第一篇文章中将讨论如何使用日期维度。
数据分析中数据和时间的重要性
我们分析的大多数数据通常都包含日期或时间戳。例如,它可能是
股票的交易日期
POS系统的交易时间
我们所做的很多分析通常都是关于日期或时间的。我们通常希望使用相同的方法对数据进行切分。
使用内置的Spark进行数据分析
本节讨论如何使用内置的spark日期函数进行数据分析。
苹果股票数据
在本例中,我们将使用苹果股票数据。以下是样本数据
Date | Open | High | Low | Close | Volume | AdjClose |
---|---|---|---|---|---|---|
2013-12-31 00:00:00 | 554.170013 | 561.279976 | 554.000023 | 561.019997 | 55771100 | 76.297771 |
2013-12-30 00:00:00 | 557.460022 | 560.089989 | 552.319984 | 554.519981 | 63407400 | 75.41378 |
加载到Spark Dataframe
下面的代码将数据加载到spark dataframe中。
val appleStockDf = sparkSession.read.