离线项目笔记:数据的拉取

目录

1. 关于数据的拉取

数据类型:

流程:

数据采集传输:

数据存储:

数据计算:


1. 关于数据的拉取

数据是从哪里来,怎么来的,去往哪里

用户请求的数据(手机端APP,web端,微信小程序),通过总的nginx反向代理(负载均衡)发送到本地的nginx,flume把日志服务器数据拉取到HDFS上。交由hive进行管理,因为原始数据是普通文本文件,而文本文件内容是json格式的一条一条记录,在创建hive表结构进行映射时,将数据按照json格式进行映射。(需要外部工具包JsonSerDe的支持)

而我们知道数据是如何进行,同时需要写个脚本每天定时去跑(#! /bin/bash 里面有hive环境配置,前一天时间的设置$(date -d'-1 day' +'%Y-%m-%d') ,加载数据,执行它,然后判断任务执行是否成功,通过发送邮件)

数据类型:

业务数据:一般存放在MySQL,oracle中,结构化的数据

埋点行为数据:一般存放在日志服务器中,以日志文件的形式存储

比如用户触发了一个行为,行为就会通过这个埋点(埋点其实就是一段代码,他有可能在前端,也有可能在后端),监听/检测有没有触发行为,如果触发这个行为,就会通过终端代码生成一条日志,记录你这次的行为信息,写在日志文件中。

流程:

存储流程:

通过nginx不同的放在业务数据库MySQL集群和日志服务器上。业务数据通过DataX,日志数据通过flume,采集到数据存放在HDFS。由hive继续管理,将数据放在ods层。

查询流程

查询数据时,通过MySQL集群或者即席查询,不通过HDFS,因为HDFS有延迟性,其它的查询快,而且用户可以根据自己的定制化去查询自己需要的内容。查完之后进行BI展示。

数据采集传输:

Flume:收集日志数据,行为数据的采集。他只能采集本身,本地的数据,也就是日志在哪,flume就在哪。

Kafka:消息中间件

DataX:各种异构数据源之间稳定高效的数据同步功能 可以对关系型和非关系型数据进行采集

Sqoop:用于在 Hadoop 和关系数据库、数据仓库、No SQL 系统间传递数据。

Logstash:就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。

数据存储:

MySQL:去存一些要展示的数据 因为它本身查询比较快

HDFS:可以去存整个数仓的数据或者需要计算的数据,本身他查询就具有延迟性。

HBase:可以替代MySQL,查询速率很快

数据计算:

Hive:整个数仓的一个管理工具,对数仓内任何数据的管理与处理都是经过hive来做的

可以使用其他计算引擎来替换hive中的计算引擎,但都是由hive来管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值