关于数据处理的思路·一点实践

一、如何设计适合的方案

不同的数据场景,切入角度不同,设计出来的方案也会很不一样,始终有更好的,我们只要在有限的资源下,设计出适合的方案即可。

下面贴出一份,批量处理数据的大致思路:

二、参考案例(仅供参考)

2.1、案例1:10天处理完1300w+文档资源的内容提取

2.1.1、背景:

根据要求,从数仓圈中1300w+的文档资源ID,想要重新对其提取正文内容,最终数据汇总到数仓中。                

2.1.2、准备阶段(成本评估、环境准备)

  • 思路说明:

(1)根据输入输出的要求,制定对应的处理脚本(一般都是支持多进程,或者多线程的方式)

(2)先把单线程/进程的任务跑起来,初步估算小单位的处理速度(speed:单位时间内处理多少条)

(3)再找一台机器运行进行批量运行测试,观察机器运行情况(count:大致估算,一台指定配置机器可以跑多少个线程/进程)

(4)根据任务要求时间(time)和单位处理速度(speed),估算需要申请的机器数量(size)和所需配置(一般为求稳定,会稍加些配置)

(5)找到华为云:ECS·购买弹性云服务器,查看所需机器配置的购买方案:包月/小时,了解资源释放费用结算方式,评估不同方案的价格。

  • 操作步骤:
  1. 输入输出梳理:
    1. 1300w+原数据在数仓,需要同步到文库的业务库 
    2. 提取到的试读文本最终需要到数仓,而且由于内容较多,文库这边不愿意存储到数据库,最终选择存到文件中,即最终汇总到OBS,再汇总到数仓表中。
       
  2. 编写文档试读内容提取脚本:
    1. 针对不同文件类型的文档文件,需要不同的解析插件(需要调研后选定,安装到运行环境中)

      抽样测试,拿到处理速度,预估所需机器:
  3. 不同处理场景,因执行依赖种类、体量、性能上限不同,最终执行速度差别很大,需要以实测数据为准。
    1. 从1300w中抽取部分(比如:1000个文档),找机器做测试,拿到处理速度,估算所需机器:
    2. 估算成本:https://console.huaweicloud.com/ecm/?agencyId=8de25fe71d41471fb811bf92bd443298&region=cn-north-4&locale=zh-cn#/ecs/createVm
  4. 申请机器(走OA单)和共享磁盘
    1. 申请机器的种类选型:
      1. OSS高频读写:用阿里云机器
      2. OBS高频读写:用华为云机器
      3. 阿里云和华为云之间有专属通道,整个公司目前都在用,特殊处理场合,会高频占用带宽,而且产生额外的流量费用。 
    2. 申请共享磁盘,并挂载:
       机器申请下来,部署环境,调试
      1. ⚠️ 注意:
        1. 不要一次性全部申请下来,先申请一台,安装环境,公共配置等,找运维以此机器备份个镜像,然后后续的机器以此镜像作为初始化,剩下了重复安装配置的繁琐过程。
  1.  挂载共享磁盘(没有则申请)
    共享磁盘有多种类型:按使用量收费,按包月包年等计时收费,此处为按量收费,用完后需要清理,减少支出 
    1. 优点:
      1. 同一份文件或者脚本,直接放在共享磁盘中即可,无需多次复制,省时省力。
      2. 结合linux系统的crontab定时触发机制,可以方便完成每个机器的监控。
      3. 可以收集汇总每个机器上生成的文件,汇总到一起,统一再上传到OBS上。
    2. 缺点:
      1. 因为是挂载的磁盘,读写速度比较慢,不适合高频的I/O操作。

2.1.3、设计方案(编码)

部署模式:


 

  • 根据实际处理场景,自行决定即可
  • 我这里采用的是:多机部署+多进程(单线程),我需要细粒度观到每个任务处理状态,并且灵活启停处理。
     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成熟的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值