数据平台数据处理流程图
- 数据准备:
主要分为几个来源:FTP数据来源,合作方推送的数据,从携程对外开放的API接口获取数据,酒店管理系统日志数据以及在线旅行社网站的数据源。 - 数据接入:
针对数据多来源的特性开发针对特定场景的数据接入方式。
a.FTP来源的数据:采用shel脚本开发,包括检查数据是否准备就绪、开始下载、解密解包、lzop压缩、put方式上传文件到HDFS
b.合作方推送的数据:搭建简单的web服务,接受携程推送的请求,利用Nginx完成请求负载,并利用Nginx记录请求中的数据,写入文件。后续通过日志收集系统获取数据(其实可以从合作方直接将数据推送Kafka的)
c.合作方API接口数据:开发程序形成生产者消费者模式,生产者将任务写入队列,消费者从队列中获取任务并利用线程池并发从合作方API接口获取数据
d.PMS日志数据:主要由开源Flume组件完成
e.网站数据:利用爬虫抓取网站数据
3.数据存储:
分为实时和离线数据存储两种方式,分别通过Kafka和HDFS进行存储
4.数据处理:
在数据处理环节,主要利用MapReduce和Spark进行数据处理任务的开发。
5、数据查询:
将Hive定义在数据查询这一流程,用户在使用数据平台过程中,通过Hive对数据进行查询。
本文转自巧克力黒 51CTO博客,原文链接:http://blog.51cto.com/10120275/2044014,如需转载请自行联系原作者