数据采集:又称数据获取,指从传感器和其他待测设备等模拟和手冲被测单元中自动采集信息的过程。
在过去的数据采集中,来源单一,结构单一,数据量相对较小,一般采用关系型数据库好并行仓库处理,而现在,数据来源丰富且多样,数据量大,看重数据处理的高效性和可用性;数据结构多样,结构化、非结构化、半结构化,采用分布式数据库
数据分类,一般分为:线上行为数据和内容数据
线上行为数据:页面数据 ,交互数据,表单数据,会话数据,自定义事件日志操作,操作日志,业务日志,各服务产生的日志,系统日志:操作系统日志,CDN日志,监控日志等(该数据源的类型属于ETL中的E:提取)
内容数据:应用日志,电子文档,机器数据,语音数据,社交媒体数据等
数据来源可分为三大类:
1.物流网系统(传感器数据):采集的方式通常有报文和文件两种;关注的方面包括:采集的频率,采集的维度
2.web系统(互联网数据):除了收集自己的,也可以通过爬虫收集网络上的
3.传统信息系统(商业数据):业务流程相关的数据。
大数据技术在数据采集方面的方法:****
1.离线采集 工具:ETL 数据仓库语境下,ETL就是数据采集的代表,提取,转换,加载。
2.实时采集、日志采集 工具:Flume(日志采集框架);kafka,scribe。主要用在考虑流处理的业务场景,有些工具采用分布式架构,满足大量的数据采集和传输需求。
3.互联网采集 工具:DPI,Crawler,scrapy ,爬虫类 。
4.其他类,包括一些保密性较高的数据,可以从第三方的数据源获取,数企提供的SaaS。
一般用户数据的产生流程:用户访问web,通过nginx 产生日志,而后使用日志分析工笔比如flume处理,结构化数据到hive,数据清洗,把结果写入到入mysql数据库中,然后报表展示。
ETL的两种形式:实时流ETL和离线ETL****
实时:通过Flume采集服务端日志,再通过HDFS直接落地;另一种是把数据采集到kafka,再通过strom或spark streaming 落地HDFS。实时流在遇到故障时,很难进行回放恢复。
ODS:操作性数据
DW:数据仓库
DM:数据集市
数据清洗和数据分析流程中的操作步骤是类似的:对控制,不符合业务含义的数据,数据格式,数据转码,数据标准等进行处理。该清洗操作,不要在数据提取时,有事可能要查原始数据,需要遵循相关的规范
加载:把清洗完成的数据加载到mysql等数据库中。并展示Tableau
在信息化的不断开发中,各个业务系统之间,业务不集成,流程不互通,数据不共享,同时现在的数据非常具有价值,而现状导致了数据分析,表报开发,分析挖掘带来了很大的困难,通过建立数据中台,数据仓库,建立一个统一的数据采集,处理,存储,分发,共享中心,这其中的关键就是ETL。
数据整合:把不同数据库中的数据源整合到一起,对外提供统一的数据视图。是一个比ETL更加广泛的概念。
常用工具:
抽取:kafka,flume,sync
清洗:hive/tez,pig/tez,storm,spark
数据存储:hadoop,hbase,es,redis
任务管理:azkaban,oozie
数据同步:dataz,sqoop
Kettle 数据整合