java的日常工作内容都是什么:
一、数据采集:
业务系统的埋点代码时刻会产生一些分散的原始日志,可以用Flume监控接收这些分散的日志,实现分散日志的聚合,即采集。
二、数据清洗:
原始的日志,数据是千奇百怪的
一些字段可能会有异常取值,即脏数据。为了增加数据下游的"数据分析统计"能拿到比较高质量的数据,需要对这些记录进行过滤或者字段数据回填。
一些日志的字段信息可能是多余的,下游不需要使用到这些字段做分析,同时也为了节省存储开销,需要删除这些多余的字段信息。
一些日志的字段信息可能包含用户敏感信息,需要做脱敏处理。如用户姓名只保留姓,名字用'*'字符替换。
三、数据存储:
清洗后的数据可以落地入到数据仓库(Hive),供下游做离线分析。如果下游的"数据分析统计"对实时性要求比较高,则可以把日志记录入到kafka。
四、数据分析统计:
数据分析是数据流的下游,消费来自上游的数据。其实就是从日志记录里头统计出各种各样的报表数据,简单的报表统计可以用sql在kylin或者hive统计,复杂的报表就需要在代码层面用Spark、Storm做统计分析。一些公司好像会有个叫BI的岗位是专门做这一块的。
五、数据可视化:
用数据表格、数据图等直观的形式展示上游"数据分析统计"的数据。一般公司的某些决策会参考这些图表里头的数据。
当然,大数据平台(如CDH、FusionInsight等)搭建与维护,也可能是大数据工程师工作内容的一部分。