大数据实践:ODI 和 Twitter (二)

大数据实践:ODI和Twitter(二)

在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIVE表中进行逆向工程,打开HIVE模型,然后在逆向工程中选择“新的数据存储”及待逆向的对象,如下:

逆向工程完成之后,得到如下的元数据信息:

上面的操作步骤与普通的关系型数据库一样,没有特殊之处,ODI可以对HIVE的表进行逆向工程,使用RKM Hive, RKM HBase, IKM File to Hive, IKM SQL to Hive, IKM Hive Transform, CKM Hive, IKM File/Hive to SQL等知识模块,可以在HIVE上处理数据。这些知识模块都是现成的,不需要特殊处理就可以直接使用,所以你不用了解如何编写MapReduce代码、访问HDFS、HIVE或其它Hadoop的细节,就可以在hadoop平台上加载、处理数据。你需要做的就是利用ODI来实现数据集成,创建转换接口,与传统的DB处理方式一样。下面是在ODI中查看HIVE中数据表的截图:

在本文,我们在第一个接口示例中,先在hadoop平台进行数据加载和处理,然后将处理好的数据结果加载到Oracle DB中。首先,创建一个接口,结果是基于下面的DML语句:

"SELECT t.retweeted_screen_name, sum(retweets) AS total_retweets, count(*) AS tweet_count FROM (SELECT retweeted_status.user.screen_name as retweeted_screen_name, retweeted_status.text, max(retweet_count) as retweets FROM tweets GROUP BY retweeted_status.user.screen_name, retweeted_status.text) t GROUP BY t.retweeted_screen_name"

下面是基于流和声明式设计的数据流映射图:

首先从Hive tweets2表中获取数据,然后进行汇总,接下来加载到另一张HIVE表t_inf中,再进行汇总,最后将结果加载到HIVE表t_inf1中。从上面的数据流中可以看到,所有的数据处理都是在hadoop平台,数据并没有转移到外部进行处理。在ODI中看到的物理视图如下:

目标表选择 "IKM Hive Control Append"集成模块,执行此映射转换之后,结果如下:

值得再次说明的是,在上面所有处理中,不需要了解hadoop平台的原理和实现细节,只需要利用ODI调用相应的知识模块即可,即专注于数据处理过程中的转换加载等操作,而不用关心MapReduce、Hive外部表的创建等细节,这些细节都是由ODI的知识模块完成,在数据集成的开发过程中,只需要引用这些模块即可。

上面所有的数据处理及结果都是在hadoop中,接下来我们再建一个映射接口,将数据从Hive迁移到Oracle中,比如供BI使用。逻辑视图如下:

在物理设计中,选择Hive to Oracle (Big Data SQL) 加载模块:

执行上面的映射转换接口,即可将数据从hive加载到Oracle。

接下来的第二个示例中,我们只创建一个映射接口,将数据转换之后,直接加载到Oracle中,而不是分成两个转换接口将数据处理后从hive再加载到oracle中。首先在Hive中先对抽取的数据做些调整,即选择如下DML语句产生的数据作为数据源:

"select user.screen_name, user.followers_count c from tweets"

逻辑视图如下:

将tweets表中的数据先抽取到一个HIVE的临时表,最后将结果加载到Oracle 中,物理视图如下:

这次可以看到,源和目标不在同一个物理区域,源是HIVE,目标端是Oracle,所以上面的物理视图中看到是两个不同的区域。在源端,使用IKM Hive Control Append将数据加载到临时表:

在目标端,选择LKM Hive to Oracle (Big Data SQL) ,将数据从HDFS(Hive)迁移到Oracle 数据库:

最后,选择"IKM Oracle Insert"知识模块,将数据从临时表加载到目标表,因为数据已经在oracle DB中,所以使用Oracle相关的知识模块即可。

执行此转换接口,产生的日志如下:

在oracle结果表中的数据如下:

上面的操作对于数据分析而言还不是结束,这只是数据处理的基础,站在BI的角度,还可以在此基础上进行数据分析和挖掘,或是BI的展现。本文只是一个起点,利用ODI帮助实现数据处理,无论是大数据平台还是传统的关系型数据库,ODI都可以使用相同的方式处理,提升数据处理的效率。

结论

ODI在大数据平台上可以非常灵活的进行数据加载和处理,无需任何hadoop平台的手工编码,只需要拖拉选择,即可实现在hadoop平台上的数据转换、数据加载和集成,以及在大数据平台和关系型数据库之间的数据互导,同时,在数据处理时充分利用大数据平台的分布式处理优势,而不用将数据迁移到hadoop平台之外进行处理。

时间: 2024-10-29 00:07:51

大数据实践:ODI 和 Twitter (二)的相关文章

有赞大数据实践: 敏捷型数据仓库的构建及其应用

有赞大数据实践: 敏捷型数据仓库的构建及其应用 有赞大数据实践: 敏捷型数据平台的构建及其应用 前言 数据仓库设计 总体架构 数据仓库实例 基础指标层 分层的好处 数仓工具 数据仓库与数据分析 即席查询系统 多维分析系统 搜索分析系统 固定报表系统 数据仓库在信息检索中的应用 小结 前言 互联网公司一般发展迅速. 一方面, 业务飞速发展, 当前应用的形式和模型每天都在变化; 企业的产品也在经历不断的下线上线过程. 数据仓库如何拥抱变化, 是难点之一. 互联网的运营人员从了解经营状况转化为精细化运

大众点评的大数据实践-CSDN.NET

大众点评的大数据实践-CSDN.NET 大众点评的大数据实践 爬虫工程师成大数据时代的"宠儿" - 杭州新闻中心 - 杭州网 爬虫工程师成大数据时代的"宠儿"

我的大数据实践之路-洗脑篇

1. 什么是大数据 五个简单故事告诉你什么是"大数据" 2.如何看待大数据 要全体不要抽样,要效率不要绝对精确,要相关不要因果 3.大数据能干什么 通过用户的使用习惯来预判用户的行为 4.大数据应用场景 我的大数据实践之路-洗脑篇

大数据实践:ODI 和 Twitter (一)

本文利用twitter做为数据源,介绍使用Oracle大数据平台及Oralce Data Integrator工具,完成从twitter抽取数据,在hadoop平台上处理数据,并最终加载到oracle数据库. 数据集成分为三个阶段:获取.整理.分析和决策. 本文从实际出发,讲述大数据处理的真实案例,而不是简单的讲述理论知识.首先会使用flume从twitter加载数据到HDFS,其实是加载到Hive数据库,然后利用(Oracle Data Integrator)ODI来实现逆向工程,并转换Hiv

大数据实践总结--两个故障的处理及思路总结

已经有一段时间没有更新实践内容了,不是因为没有在学习.而是工作上出现一个新的挑战,又在忙论文查重,论文也是大数据方向的,主要是ICT方向的一个技术(若有人感兴趣,我会另开一个帖子来详细谈这个内容). 而且最近,把之前所有的实践环境换了一台电脑来重新搭建.按理说会很顺利,但没想到,还是出了许多问题.一些简单的问题就直接解决了,但仍是有两个大的故障,一直到今天下午才全部都解决了.现总结如下,为以后也能更好的学习使用. 故障一:虚拟机上虚拟适配器不能链接到主机的网络 故障现像: 在将原来的虚拟机整体复

大数据之道 HMM系列<二>(成长)

一:HMM解码问题 (1)编程深处无非就是算法和结构,以及各种架构和版本的管理(如Git管理),因此作为程序员算法这一关是绕不过去的: (2)关于算法,个人比较崇尚的一本书是<算法导论>和ACM实战系类的算法培训: (3)对于自然语言处理领域或者部分机械学习领域的算法,HMM模型是非常经典的算法之一,非常适合初学者学习和研究: (4)HMM模型μ=(A,B,π),的状态是不可见的,我们看到的仅仅是状态表现出来的观察值和状态概率函数. 二:HMM简介(u = {N,M,A,B,pai} ---&

中国的大数据实践

在中国,由各级政府主导的大数据计划已不是独立零散存在的试验田,而是处于全面进行时的生动实践.推动大数据相关产业发展和应用示范,正在成为各地抢占新一轮经济和科技发展制高点的重大战略,成为增强区域竞争力的前沿. 广东省是率先在全国推行大数据战略的省份.2012年年底,广东省制定了<广东省实施大数据战略工作方案>,提出启动大数据战略,计划采用行政搜集.网络搜取.自愿提供.有偿购买等多种方式拓宽数据搜集渠道;在政府各部门开展数据开放试点,通过部门网站向社会开放可供下载和分析使用的数据,进一步推进政务公

[转]携程大数据实践:高并发应用架构及推荐系统案例

本文来自携程技术中心基础业务研发部的<应用架构涅槃>系列分享.据基础业务研发部负责人李小林介绍,互联网二次革命的移动互联网时代,如何吸引用户.留住用户并深入挖掘用户价值,在激烈的竞争中脱颖而出,是各大电商的重要课题.通过各类大数据对用户进行研究,以数据驱动产品是解决这个课题的主要手段,携程的大数据团队也由此应运而生:经过几年的努力,大数据的相关技术为业务带来了惊人的提升与帮助.以基础大数据的用户意图服务为例,通过将广告和栏位的“千人一面”变为“千人千面”,在提升用户便捷性,可用性,降低费力度的

大数据实践总结---一点思考

本文算是一个阶段总结吧!总算是把MapReduce给搞完了.细想这三周来的收获,可能除了代码,更多的是逻辑上的提高吧!下边就以之前只会理论时的一些问题来开启本文吧! 1,大数据架构师,产品经理需要写代码吗? 需要,只不过写代码的程度不同.大数据架构师要详细了解大数据的各个模块功能,相关的接口参数.可以说,架构师要对代码有很详细的了解.大数据的相关工作中,架构,开发,运维都需要写代码.但每个人写的代码内容也不相同.对于一个IT公司来说,这三块主要是主开发人员,对代码经验都有很大要求. 产品经理,主