V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
curran12
V2EX  ›  程序员

从 200 多个数据库采集数据到大数据平台,有什么方案?

  •  
  •   curran12 · 2017-08-21 17:25:36 +08:00 · 2758 次点击
    这是一个创建于 2654 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有 200 多个数据库,数据结构大部分一致,SQLServer 和 Oracle 居多,需要采集交易数据到大数据平台,要保证数据准确性,实时性要求不高,大家有什么稳妥的方案?

    9 条回复    2017-08-21 22:09:18 +08:00
    noNOno
        1
    noNOno  
       2017-08-21 17:27:31 +08:00
    不知道数据量如何,实时性要求不高,写 ETL 脚本,离线处理调度呗
    gouchaoer
        2
    gouchaoer  
       2017-08-21 17:30:39 +08:00
    你这个需要每天增量备份么,不需要的话用 sqoop 之类的吧
    gouchaoer
        3
    gouchaoer  
       2017-08-21 17:32:22 +08:00
    需要增量备份的话,你是导入 hive 还是 hbase 之类的呢,我的方案是写脚本每天去数据库查询导出成 text 文本,然后脚本再调用 hive 命令行导入 hive
    gouchaoer
        4
    gouchaoer  
       2017-08-21 17:33:11 +08:00
    noNOno
        5
    noNOno  
       2017-08-21 17:34:10 +08:00
    数据接入可以用 hbase 集成 hive。我现在数据处理都是先存入 hbase,然后每日处理,持久化到 hive
    curran12
        6
    curran12  
    OP
       2017-08-21 17:51:21 +08:00
    @gouchaoer 既然采集肯定要入仓的,我觉得考虑的地方有几个点:
    1、网络稳定性:分为 200 多个库的出口和数据平台入口,200 多个库分布在全国各地,一般都在内网,需要走网络映射,不能保证每次抽取出口网络都正常,而且调度时太大的流量会对数据平台入口网络照成影响,这个需要了解每个库的数据增量来安排调度。
    2、某个库采集任务失败后要保证最终采集的数据准确,而且这么多表不可能每天都盯着,需要失败后自动重试
    gouchaoer
        7
    gouchaoer  
       2017-08-21 17:57:55 +08:00
    @curran12 这 2 个需求都不是问题,你应该是每天增量备份的吧,那我这个方法增量备份有个问题就是需要一个自增的 int 的主键,否则你每天增量备份都不知道从哪一行开始读。。。。我也有意写个 php 工具开源出来,sqoop 太难用了
    momo4tg
        8
    momo4tg  
       2017-08-21 18:23:57 +08:00
    我觉得 hbase 可以作为一个数据备份,先把数据存在 hdfs 中,通过 spark 去重,计算得到的结果再存入 hbase,保证 hbase 里面的数据已经是干净准确的,再根据需要持久化到另外一个库中,比如某个 OLAP 的数据库。楼上说的每天增量备份都不知道从哪一行开始读,你按天增量,计算的时候去重就好了啊,我之前做的一个数据仓库因为主要是各个系统的订单数据,很多都是 T+1 会有更新的,所以 我都是每天读取 D-3 的数据,然后用 spark 作计算的
    badttt
        9
    badttt  
       2017-08-21 22:09:18 +08:00 via iPhone
    阿里的 DataX
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2977 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:33 · PVG 08:33 · LAX 16:33 · JFK 19:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.