第50课 Spark 2.0项目概述


第一步:需求:数据的输入和数据的产出,大数据技术项目好比一台榨汁机,
                数据输入相当于例如苹果、柠檬等,然后通过榨汁机产出果汁;
 第二步:数据量、处理效率、可靠性、维护性、简洁性
 第三步:数据建模
 第四步:架构设计:数据怎么进来,输出怎么展示,最最重要的是处理流出的架构;
 第五步:我会再次思考大数据系统和企业IT系统的交互;
 第六步:最终确定的技术(例如Spark、Kafka、Flume、HBase)选择、规范等
 第七步:基于数据建模写基础服务代码
 第八步:正式编写第一个模块!编码、测试、调试、改进等等
 第九步:实现其它的模块,并完成测试和调试等
 第十步:测试和验收

Data Source:
机器 和用户的行为记录

Socket或者HTTP协议传输数据到服务端

Server:
第一步:服务器例如Apache,Nginx,Tomcat等接受到数据;
第二步:J2EE等技术处理接收到的数据,一般是通过日志的方式 把数据保存在 特定的目录下面或者 数据库
第三步:日志放置的目录是大数据组件中的 Flume或者Kafka监控的目录

日志一般会经过Flume或者Kafka进行处理;

有时候数据比较复杂,需要我们使用定时系统或自己开发程序和脚本对数据进行初步处理,然后交给下游系统,一般是Flume


分布式数据管理:
这一个步骤重点说Flume:
Flume会监控具体的目录,当有数据来临的时候会把数据Sink到下游系统中. 
此时数据是直接交给HDFS?
还是交给数据仓库系统Hive?
还是交给消息组件Kafka?
还是交给流处理系统呢?

流处理系统:
现在主要适用Storm和Spark Streaming
从Spark Streaming的角度考虑,我们在流处理的过程中可能用SparkSQL,ML,Graphx等;

当今大数据业界80%到90%都是基于Hive数据仓库

Hive:
在数据仓库中建表并获取上游的日志数据

数据的离线分析:
Hadoop和Spark,其实绝大多数据情况下都 是使用Hive本身中或者Spark SQL进行数据的多维度分析;

定时调度的问题:

其实离线数据分析的一个基本任务是进行 数据清洗



你可能感兴趣的:(Spark2.0,项目)