数据架构解决方案(4) -- 数据处理应用的部署和运维
这是数据架构解决方案系列博客的第四篇,系列的其他文章:
到目前为止,我们讨论了:
- 如何将源数据初步处理并且暂存;
- 如何从暂存的数据中进一步榨取出价值。
下一步,也是直面真实用户的重要一步,就是将构建好的数据应用部署上线并且持续运维,给用户(包括组织内部的和外部的)提供构建好的服务。
数据架构解决方案(3) -- 数据处理和分析方法论
数据架构解决方案(2) -- 数据流水线和数据湖
数据架构解决方案(1) -- 数据架构组成
前文说到,写这系列文章的目的是试图总结近几年我在参与构建和学习构建数据应用项目中趋同的部分,所以,我先描述一下我认为目前主流数据应用的组成以及构建这些组件的注意事项。
数据架构组件
总的来说,目前主流的数据应用从数据的被处理时间维度上可以分为 3 类大的部分:

数据流水线和数据湖
这是整个数据架构中最基础也是最重要的部分,负责所有数据的 接入,收集,ETL,建模,暂存,最终存储等。
数据分析
规整的数据存入数据湖后,需要经过进一步的处理和分析后才能产生真正的业务价值。
数据应用于业务
这是整个数据架构的最终端,有业务价值的数据只有最终真正地被应用到业务中,才是有意义的,否则整个架构地构建都是没有意义的。
数据架构解决方案(0)
Spark distinct() vs. groupBy()
Scala Nothingness
Spark 输出到 Hive 总结
将 Spark 中计算好的 DataFrame 保存在 Hive 中应该是使用 Spark 作为数据处理引擎最常见的需求之一了。
但是在使用过程中会遇到一些问题,本文试图总结一下我在使用过程中遇到的问题以及解决办法。