从0到1搭建大数据平台之数据采集系统

article/2025/9/20 7:20:13

关于从0到1搭建大数据平台,之前的一篇博文《如何从0到1搭建大数据平台》已经给大家介绍过了,接下来我们会分步讲解搭建大数据平台的具体注意事项。

一、“大”数据

海量的数据

当你需要搭建大数据平台的时候一定是传统的关系型数据库无法满足业务的存储计算要求了,所以首先我们面临的是海量的数据。

复杂的数据

复杂数据的概念和理想数据完全相反。所有数据集都有一定的复杂性,但有一些天生更难处理。通常这些复杂数据集没有定义结构(没有行列结构),经常变化,数据质量很差。比如更新的网页日志,json数据,xml数据等。

高速的数据

高速数据通常被认为是实时的或是准实时的数据流。数据流本质上是在生成后就发给处理器的数据包,比如物联网的穿戴设备,制造业的传感器,车联网的终端芯片等等。处理实时数据流有很多挑战,包括在采集时不丢失数据、处理数据流中的重复记录、数据如何实时写入磁盘存储、以及如何进行实时分析。

二、采集工具

日志采集

我们业务平台每天都会有大量用户访问,会产生大量的访问日志数据,比如电商系统的浏览,加入购物车,下订单,付款等一系列流程我们都可以通过埋点获取到用户的访问路径以及访问时长这些数据;再比智能穿戴设备,实时都会采集我们的血压、脉搏、心率等数据实时上报到云端。通过分析这些日志信息,我们可以得到出很多业务价值。通过对这些日志信息进行日志采集、收集,然后进行数据分析,挖掘公司业务平台日志数据中的潜在价值。为公司决策和公司后台服务器平台性能评估提高可靠的数据保证。系统日志采集系统做的事情就是收集日志数据提供离线和在线的实时分析使用。目前常用的开源日志收集系统有Flume、Logstash、Filebeat。可以根据自己公司的技术栈储备或者组件的优缺点选择合适的日志采集系统,目前了解到的Flume使用的比较多。各个采集工具的对别如下:

具体组价的相关配置可以参考之前的文章《日志收集组件—Flume、Logstash、Filebeat对比》

数据库抽取

企业一般都会会使用传统的关系型数据库MySQL或Oracle等来存储业务系统数据。每时每刻产生的业务数据,以数据库一行记录的形式被直接写入到数据库中保存。

大数据分析一般是基于历史海量数据,多维度分析,我们不能直接在原始的业务数据库上直接操作,因为分析的一些复杂SQL查询会明显的影响业务数据库的效率,导致业务系统不可用。所以我们通常通过数据库采集系统直接与企业业务后台数据库服务器结合,在业务不那么繁忙的凌晨,抽取我们想要的数据到分析数据库或者到HDFS上,最后有大数据处理系统对这些数据进行清洗、组合进行数据分析。

常用数据库抽取工具:

  • 阿里开源软件:DataX

        DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。开源的DataX貌似只能单机部署。

  • Apache开源软件:Sqoop

        Sqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。可以集群化部署。

爬虫爬取

有很多外部数据,比如天气、IP地址等数据,我们通常会爬取相应的网站数据存储。目前常用的爬虫工具是Scrapy,它是一个爬虫框架,提供给开发人员便利的爬虫API接口。开发人员只需要关心爬虫API接口的实现,不需要关心具体框架怎么爬取数据。Scrapy框架大大降低了开发人员开发速率,开发人员可以很快的完成一个爬虫系统的开发。

三、数据存储

HDFS

2003年,Google发布论文GFS,启发Apache Nutch开发了HDFS。2004年,Google 又发布了论文《MapReduce: Simplified Data Processing on Large Clusters》,Doug Cutting等人实现计算框架MapReduce ,并与HDFS结合来更好的支持该框架。2006年项目从Butch搜索引擎中独立出来,成为了现在的Hadoop。

GFS隐藏了底层的负载均衡,切片备份等细节,使复杂性透明化,并提供统一的文件系统接口。其成本低,容错高,高吞吐,适合超大数据集应用场景。

  • HDFS原理:
    横向扩展,增加“数据节点”就能增加容量。

  • 增加协调部门,“命名节点”维护元数据,负责文件系统的命名空间,控

  • 外部访问,将数据块印射到数据节点。还会备份元数据从命名节点,它只与命名节点通信。

  • 数据在多个数据节点备份。

通常关系型数据库存储的都是结构化的数据,我们抽取后会直接放到HDFS上作为离线分析的数据源。

HBase

在实际应用中,我们有很多数据可能不需要复杂的分析,只需要我们能存储,并且提供快速查询的功能。HBase在HDFS基础上提供了Bigtable的能力; 并且基于列的模式进行存储。列存储设计的有事减少不必要的字段占用存储,同时查询的时候也可以只对查询的指定列有IO操作。HBase可以存储海量的数据,并且可以根据rowkey提供快速的查询性能,是非常好的明细数据存储方案,比如电商的订单数据就可以放入HBase提供高效的查询。

当然还有其他的存储引擎,比如ES适合文本搜索查询等。

总结

了解了上面的技术栈后,在实际数据接入中,你还会面临各种问题,比如如何考虑确保数据一致性,保障数据不能丢失,数据采集存储的效率,不能产生数据积压等,这些都需要对每个组件进行研究,适配适合你自己业务系统的参数,用最少的资源,达到最好的结果。

历史好文推荐

  1. 如何从0到1搭建大数据平台

  2. 日志收集组件—Flume、Logstash、Filebeat对比

  3. 你是分析师,还是“提数机”?

  4. 谈谈ETL中的数据质量

你点的每个在看,我都认真当成了喜欢


http://chatgpt.dhexx.cn/article/5VforQFk.shtml

相关文章

大数据之数据采集

本篇主要介绍目前网站数据采集的主流方式,之后篇章会介绍客户端数据采集目前主流的实现方式。 目前有很多数据采集云平台,如Google anylytics,百度统计,腾讯统计等等,还有一些平台也非常不错: 一.友盟&…

3. 业务数据采集平台概述

3. 业务数据采集平台概述 电商业务简介电商业务流程电商常识SKU和SPU平台属性和销售属性 电商业务数据电商系统表结构活动信息表(activity_info)活动规则表(activity_rule)活动商品关联表(activity_sku)平台…

测量数据采集分析平台

青创智通科技测量数据采集分析平台,改变传统纸张方式,快速实现生产质量管理的数字化、智能化、平台化。 产品优势: 1、检测智联与精益生产:实现产品制造过程各部位的尺寸测量、测量信息采集、实时传输及数据分析。 2、与各种智…

数据运营平台-数据采集

目录 行为数据采集 业务数据采集与转换 第三方系统API对接 用户数据关联 人工数据采集 数据输出 行为数据采集 1.埋点采集 ①跨平台打通 确定性方法识别 利用用户帐号体系中,可以是系统生成的 UserID,可以是手机号,也可以是邮箱&am…

大数据采集概述

文章目录 大数据采集概述1.互联网大数据与采集1.1互联网大数据来源1.社交媒体2.社交网络3.百科知识库4.新闻网站5.评论信息6.位置型信息 1.2 互联网大数据的特征1.大数据类型和语义更加丰富2.数据的规范化程度弱3.数据的流动性更大4.数据的开放性更好5.数据的来源更加丰富6.互联…

大数据项目离线数仓(全 )一(数据采集平台)

搭建用户行为数据采集平台、搭建业务数据采集平台、搭建数据仓库系统、制作可视化报表 本篇博客包括搭建用户行为数据采集平台、搭建业务数据采集平台 搭建数据仓库系统在大数据项目离线数仓(全 )二 制作可视化报表在大数据项目离线数仓(全…

采集平台-大数据平台数据采集系统

随着社会的发展。人们也是越来越离不开互联网,今天小编就给大家盘点一下免费的采集平台,只需要点几下鼠标就能轻松爬取数据,不管是导出excel还是自动发布到网站都支持。详细参考图片一、二、三、四! 企业人员 通过爬取动态网页数…

4. 业务数据采集平台搭建

4. 业务数据采集平台搭建 业务数据采集模块Hive安装部署业务数据同步概述数据同步策略概述数据同步策略选择数据同步工具概述 DataX 数据同步工具Maxwell 数据同步工具全量表数据同步数据通道DataX 配置文件DataX 配置文件生成脚本生成文件生成全部配置文件脚本测试生成的 Data…

奇点云数据中台技术汇(二)| DataSimba系列之数据采集平台

继上期数据中台技术汇栏目发布DataSimba——企业级一站式大数据智能服务平台,本期介绍DataSimba的数据采集平台。 DataSimba采集平台属于DataSimba的数据计算及服务平台的一部分, 负责数据的导入, 从而支持上层的数据处理。 DataSimba的定…

六大主流大数据采集平台架构分析

日志收集的场景 DT时代,数以亿万计的服务器、移动终端、网络设备每天产生海量的日志。 中心化的日志处理方案有效地解决了在完整生命周期内对日志的消费需求,而日志从设备采集上云是始于足下的第一步。 随着大数据越来越被重视,数据采集的挑战…

简单谈谈Redis中的几种java客户端以及优缺点!

一、摘要 相对于其他的分布式中间件,Redis 支持的客户端种类非常繁多,涵盖更加全面,除了支持比较流行的 c、c、java、C#、php、Python 等语言以外,还支持 Objective-C、Swift、Node.js 等等,以下是来自于 Redis 支持的…

Redis介绍、安装、客户端

1. Redis介绍 1.1 什么是NoSql 为了解决高并发、高可用、高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql。NoSql,叫非关系型数据库,它的全名Not only sql。它不能替代关系型数据库,只能作为关…

redis安装+客户端

redis安装客户端 1.安装redi2.安装redis客户端 1.安装redi 1)资源下载地址 Redis安装包:https://github.com/MicrosoftArchive/redis/releases 2) 下载,解压安装包到相应的文件夹,任一盘符都可以。 接下来对文件夹中的…

Redisson--最好用的Redis客户端--介绍

原文网址:Redisson--最好用的Redis客户端--介绍_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Redisson这款最好用的Redis客户端。 官网 官网:Redisson: Redis Java client with features of In-Memory Data Grid git:https://github.co…

redis的客户端

关系型数据库存储在磁盘当中&#xff0c;非关系型数据库存储在内存中 Jedis 第一步&#xff1a;导入依赖包 <dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</vers…

【Redis】客户端RedisClient

0. 目录 1. 下载2. 运行 RedisClient3.1. 链接服务器 1. 下载 官网下载&#xff1a;https://github.com/caoxinyu/RedisClient 因为我已经安装了jdk或者jre&#xff0c;所以我只用jar包版本。 我用迅雷下载&#xff0c;比较快。当然你可以用我下载好的。 百度云盘&#xff1a;…

redis:客户端管理

机制 redis提供了一些操作客户端的命令&#xff0c;比如查询所有已连接到服务端的客户端数量&#xff0c;控制客户端的连接状态&#xff08;关闭或者挂起&#xff09;等。通过客户命令我们可以轻松实现对客户端的管理、控制。 redis服务器通过监听TCP端口的方式来接收客户端连…

windows下redis可视化客户端

Redis是一个超精简的基于内存的键值对数据库(key-value)&#xff0c;一般对并发有一定要求的应用都用其储存session&#xff0c;乃至整个数据库。 redis的可视化客户端目前较流行的有三个&#xff1a;Redis Client ; Redis Desktop Manager ; Redis Studio. Redis Desktop Ma…

Redis(四) - Redis的Java客户端

文章目录 一、Redis的Java客户端二、Jedis客户端1. 快速入门&#xff08;1&#xff09;引入依赖&#xff08;2&#xff09;创建jedis对象&#xff0c;建立连接&#xff08;3&#xff09;测试&#xff0c;方法名与Redis命令一致&#xff08;4&#xff09;释放资源 2. Jedis连接池…

Redis可视化客户端汇总

因为 Redis 官方只提供了命令行版的 Redis 客户端 redis-cli&#xff0c;以至于我们在使用的时候会比较麻烦&#xff0c;通常要输入一堆命令&#xff0c;而且命令行版的客户端看起来也不够直观&#xff0c;基于以上两个原因我们需要找一个可视化的 Redis 客户端&#xff0c;下面…