不同的数据源通过不同的数据同步工具导入到大数据平台统一存储计算然后形成数据服务能力供业务方使用。
外部数据:第三方(平台)数据api接口、下载的文档(excel、json)等
半结构化数据:具有一定的数据结构但数据模式不固定,比如json、xml、html、日志文件
目前接触的是结构化以及半结构化数据,没处理过非结构化数据,人工智能的图像识别、语音识别会处理非结构化数据。
统一数据存储(集成)平台分为:离线数据存储平台hive(hdfs)、实时数据存储平台kafka。
离线数据是通过离线同步工具通过定时任务将数据从数据源按照全量和增量形式同步到离线存储平台hive中。
同步工具大概原理:工具一般可以抽象成source-channel-sink构成,以不同的插件形式组装成一个完整的同步工具,比如有mysql source插件、博亚体育 博亚体育官方网站hive sink插件用于来读取mysql以及插入hive,底层是调用mysql 和hive的读写api完成操作,可自定义不同数据源的读写插件。channel一般有内存和文件两种类型,在source和sink起到缓冲持久化作用保证数据的可靠性。
可以在不同的节点上部署多个数据同步工具实现分布式多线程运行实现大批量数据的导入导出,提升速度。
实时数据一般是埋点、日志数据、binlog以及nsq消息等通过实时同步工具同步到kafka平台中。
实时同步工具:较常用flume(同步日志、埋点数据)、canal(收集解析binlog)以及自己写的同步程序
所有的数据以表的形式存储在一起,那么数据之间可以相互关联起来然后分析处理得出许多数据指标结果。一般而言hive的数据表分层组织管理,博亚体育 博亚体育官方网站跟java代码中的那种分层设计差不多一样的目的。