数据分析是指用统计分析方法对收集的数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结并指导实际工作和生活。
(1)获取数据
获取相关的数据,是数据分析的前提。
(2)数据处理
获取数据,把数据处理成自己想要的东西。
(3)形成报告
把数据分析的结果可视化,展现出来。
大数据工程师工作内容取决于你工作在数据流的哪一个环节。
从数据上游到数据下游,大致可以分为:
数据采集 -> 数据清洗 -> 数据存储 -> 数据分析统计 -> 数据可视化 等几个方面
工作内容当然就是使用工具组件(Spark、Flume、Kafka等)或者代码(Java、Scala等)来实现上面几个方面的功能。
具体说说吧,
数据采集:
业务系统的埋点代码时刻会产生一些分散的原始日志,可以用Flume监控接收这些分散的日志,实现分散日志的聚合,即采集。
数据清洗:
原始的日志,数据是千奇百怪的
一些字段可能会有异常取值,即脏数据。为了保证数据下游的"数据分析统计"能拿到比较高质量的数据,需要对这些记录进行过滤或者字段数据回填。
一些日志的字段信息可能是多余的,下游不需要使用到这些字段做分析,同时也为了节省存储开销,需要删除这些多余的字段信息。
一些日志的字段信息可能包含用户敏感信息,需要做脱敏处理。如用户姓名只保留姓,名字用'*'字符替换。
数据存储:
清洗后的数据可以落地入到数据仓库(Hive),供下游做离线分析。如果下游的"数据分析统计"对实时性要求比较高,则可以把日志记录入到kafka。
数据分析统计:
数据分析是数据流的下游,消费来自上游的数据。其实就是从日志记录里头统计出各种各样的报表数据,简单的报表统计可以用sql在kylin或者hive统计,复杂的报表就需要在代码层面用Spark、Storm做统计分析。一些公司好像会有个叫BI的岗位是专门做这一块的。
数据可视化:
用数据表格、数据图等直观的形式展示上游"数据分析统计"的数据。一般公司的某些决策会参考这些图表里头的数据~
当然,大数据平台(如CDH、FusionInsight等)搭建与维护,也可能是大数据工程师工作内容的一部分喔~
希望对您有所帮助!~