大资料从哪里来 技术头条

大资料从哪里来? 技术头条

戳蓝字“CSDN云端计算”关注我们哦!

作者:Feng

来源:哈尔的资料城堡

现代商业市场是一个数据驱动的环境,可以说不论技术怎么更新换代,资料都有着不可替代的地位,而且抛开资料谈大资料服务就是瞎扯,没有资料作支撑的大资料平台就是一个空壳。无论是公司内部的资料还是外部的资料都可以构成我们大资料平台的资料来源,大资料平台数据的来源主要来自数据库、日志、前端埋点、爬虫。

01 从数据库汇入

在大资料技术风靡起来前,关系型数据库(RDMS)是主要的资料分析与处理的途径。发展至今数据库技术已经相当完善,当大资料出现的时候,行业就在考虑能否把数据库资料处理的方法应用到大资料中,于是 Hive、Spark SQL 等大资料 SQL 产品就这样诞生。

虽然出现 Hive 大资料产品,但是在生产过程中业务资料依旧使用 RDMS 进行储存,这是因为产品需要实时响应使用者的操作,在毫秒级完成读写操作,而大资料产品不是应对这种情况出现的。到这里你可能就有一个疑问,如何把业务的数据库同步到大资料平台中?一般来说业务资料我们使用实时和离线采集资料来将资料抽取到资料仓库中。然后再进行后续资料处理和分析,一些常见的数据库汇入工具有 Sqoop、Datax 和 Canal 等。

Sqoop 是 Apache 旗下一款 Hadoop 和关系型数据库之间传送离线资料的工具。实现关系型数据库(MySQL 、Postgres 等)同 Hadoop 丛集的 Hdfs、Hbase、Hive 进行资料同步, 是连线传统关系型数据库和 Hadoop 的桥梁。atax 与 Sqoop 类似也是进行离线资料传输,支援阿里数据库系列资料同步。

Canal 则是通过读取 MySql的 BinLog 日志 实时传输资料到大资料平台,实现资料的实时介入。

如果你希望了解更多,可以阅读上篇文章《浅谈资料同步之道》

02 日志汇入

日志系统将我们系统执行的每一个状况资讯都使用文字或者日志的方式记录下来,这些资讯我们可以理解为业务或是装置在虚拟世界的行为的痕迹,通过日志对业务关键指标以及装置执行状态等资讯进行分析。

Apache Flume 是大资料日志收集常用的工具。从图中可以看出 Flume 执行的核心是 Agent,以 Agent 为最小的独立执行单位。Agent 主要由三个元件:Source,Channel、Sink。

Source: 收集资料,封装资料为事件(Event)后传送到 Channel,资料来源可以是企业服务器、档案系统、云、资料储存库等。

Channel: 通常,读取速度比写入速度快。因此,我们需要一些缓冲区来匹配读写速度差异。基本上,Channel 提供一个讯息伫列的功能,用于储存 Source 传送的事件,对事件进行讯息排序,传送到 Sink。

Sink: 从 Channel 收集资料,将资料输送大资料储存装置,比如 HDFS、Hive、Hbase 等,Sink 也可以作为新的 Source 输入源,两个Agent 进行级联,根据需求开发各种处理结构。

03 前端埋点

为什么需要埋点?现在的互联网公司越来越关注转化、新增、留存,而不是简单的统计 PV、UV。这些分析资料来源通过埋点获取,前端埋点分为三种:手工埋点、视觉化埋点、自动化埋点。

手工埋点:

前端需要返回资料的位置呼叫写好的埋点 SDK 的函式,按照规范传入引数通过 Http 方式传入后代服务器中。这种方式可以下钻并精准采集资料,但工程量巨大。

自动化埋点:

也叫无埋点,即是无需埋点,在全部位置都设定埋点,对使用者所有操作进行采集,这种方式通过统一的 SDK 返回资料,再选择需要的资料进行分析,这种方式加大服务器的压力,采集许多不需要的资料,浪费资源。在实践中,可以采用对部分使用者或者部分简单操作页面进行全埋点采集。

视觉化埋点:

是介于手工埋点和自动化埋点之间方式,通过视觉化互动设定埋点,可以理解为人为干预的自动化埋点形式。

那如何选择埋点方式?对于一个按钮,如果采用视觉化埋点或者自动化埋点时,可以轻易采集使用者何时点选按钮,对于需要执行获取获得的资料是无法采集,比如订单的商品详细资讯等,对这种情况应该采用手动埋点处理采集。对此,埋点问题不应该通过单一的技术方案来解决,在不同场景下我们需要选择不同的埋点方案。

04 爬虫

时至至今, 爬虫的资料成为公司重要战略资源,通过获取同行的资料跟自己的资料进行支撑对比,管理者可以更好的做出决策。而且越难爬虫获取竞争对手的资料,对于公司来说是越有价值。

小结

资料采集本身不是目的,只有采集到的资料是可用、能用,且能服务于最终应用分析的资料采集才是根本。资料采集的准确性决定了这个资料分析报告是不是有使用价值。只有当资料采集具有科学性、客观、严密的逻辑性时,建立在这样的资料分析基础之上的的出来的结论才具有现实的价值和意义。

重磅推荐 ↓ ↓ ↓

福利

扫描新增小编微信,备注“姓名+公司职位”,加入【云端计算学习交流群】,和志同道合的朋友们共同打卡学习!

推荐阅读:

边缘计算将吞掉云端计算!

ARM 释出新一代 CPU 和 GPU,实现 20% 效能提升!

前端开发 20 年变迁史

北漂杭漂的程序员,是如何买到第一套房子?

“爱装X”开源组织:“教科书级”AI知识树究竟长什么样?

500行Python程式码打造刷脸考勤系统

权游播完了, 你在骂烂尾, 有人却悄悄解锁了新操作……

真香,朕在看了!

猜你喜欢