大数据实时解决方案

0
各位老师:
   现在面临这样一个场景,数据源是银行上游系统大概10个,比如:总账、核心、信贷、渠道、卡等。
   这些上有系统中有一些实时交易数据需要进行实时抽取到目标库Oracle,然后再通过一定的业务逻辑处理加工成为需要在前端展现的报表。
   其实这个对于各位应该很好解决,但是大数据我是刚刚接触的小菜鸟,目前只能相处一个简单的解决方案,如下:
就拿一张表举例(核心业务系统的核心交易流水DC_LOG),将这张表进行实时处理。搭建ogg集群,再OGG集群上搭建kafka集群以及zookeeper集群来进行消息处理,通过调用Java接口(truncate+insert)向目标表中插入实时的DC_LOG最新数据,当然truncate和insert的表是我们自主创建的,源表就是DC_LOG。我能想到的就是通过shell去循环调用jar包,进行truncate and insert操作。
    跟领导碰了一下,领导虽然表面认可这种方案,但是意思还是我想的简单了一些,让我再想一下更具体细化的解决方案,尽量能将将Hadoop  hbase OGG Phoenix 大数据调度工具,然后同时要考虑高可用以及扩展性,能出一个具体的解决方案。
   望各位老师能够不吝赐教,谢谢。
已邀请:
0

Bob - 同程旅游大数据+BI 架构师 2017-03-28 回答

1.在数据源方面则尽量去实时收集。可以让他们主动向你的消息队列中写入数据,也可以部署flume去主动收集他们的日志数据。
2.数据进入到消息队列以后,用flume消费kafka,存储原始数据到hdfs中,保留原始数据作为存档
其次消费kafka的数据并输出到hbase集群中。
hbase集群作为你的目标表,与你的原始表在结构上保持一致。这样你就可以进行update insert等操作。
 
以上是解决实时数据到集群。
 
3.围绕数据的应用。
hbase集群的外围组件Phoenix 可以提供类似sql的查询,让你不用写原生java api,通过sql进行数据的查询
 
你的前端呈现可以通过jdbc的方式访问 Phoenix ,使用sql去查询hbase集群中的数据
 
整个任务调度体系可以使用oozie或zuse等。
 
在支撑后续的大数据查询方面可以扩展使用kylin等。因为kylin也是可以进行实时的olap操作。
0

dota_226 - 致力于ETL,COGNOS,DS研究 2017-03-28 回答

多谢Bob老师的良心回答,考虑到我的需求确实比较吻合,具体的还需要实际应用一下,呵呵~
0

seng - 从事BI、大数据、数据分析工作 2017-03-28 回答

dota_226,这个要看你的数据量了,
Bob的方案很好,但是如果你的数据量不大的话,这个架构就很重。
可以考虑一些轻量级的方案,如pipelinedb这类的。

要回复问题请先登录注册