某金融大数据平台数据同步方案

Greenplum数据导入方案

Case2:tsale_staticshares表导数

  • 导数说明:

    • 存储格式:parquet

    • 压缩:snappy

    • 并行度:3

  • Impala查询

    • 单表统计时间:4.28s
  • 空间开销:约1G
  • 时间开销:约7分钟

Case2:tsale_dividenddetail表导数

  • 导数说明:

    • 存储格式:parquet

    • 压缩:snappy

    • 并行度:5

  • Impala查询

    • 单表统计时间:3.35s
  • 空间开销:约2.2G
  • 时间开销:约23分钟

Case2:rtta_bal_fund表导数

  • 导数说明:

    • 存储格式:parquet

    • 压缩:snappy

    • 并行度:3

    • 空间开销:约600M

  • 时间开销:约5分钟

业务功能实现

  • 需求:

    • 从rtta_bal_fund 表按照份额最后变化日期抽取当天的修改记录,按主键

      • FUNDACCO

      • TRADEACCO

      • AGENCYNO

      • NETNO

      • SRCSYS

      • PORT_CODE

      • SHARETYPE

    • 修改tsale_staticshares表中的

      • 分红方式

      • 基金份额

      • 冻结份额

      • 未付收益

      • 冻结未付收益

      • 交易所标志

      • 份额最后变化日期到表

    Case3:GP增量数据更新

  • 实现:通过Impala进行增量update,耗时约5.48s

Oracle准实时增量同步方案

Case4:Oracle增量数据更新

  • Step1:Hive当前数据查询
  • Step2:启动Spark Streaming程序

    • 注:目前设置为10s一次更新,可根据时效要求调整为不同时间粒度(ms~hour)
  • Step3:Oracle源端增量新增数据

Case4:Oracle增量数据更新(续)

  • Step4:SparkStreaming运行日志中可以观察到新增数据(Json格式)

  • Step5:Hive中查询可观察到新增的数据

结论:通过OGG+Kafka+SparkStreaming的方案,可以根据任意时间粒度(ms、s、min、hour)的需要,准实时同步Oracle的数据到Hive。

你可能感兴趣的:(某金融大数据平台数据同步方案)