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

本文利用twitter做为数据源,介绍使用Oracle大数据平台及Oralce Data Integrator工具,完成从twitter抽取数据,在hadoop平台上处理数据,并最终加载到oracle数据库。

数据集成分为三个阶段:获取、整理、分析和决策。

本文从实际出发,讲述大数据处理的真实案例,而不是简单的讲述理论知识。首先会使用flume从twitter加载数据到HDFS,其实是加载到Hive数据库,然后利用(Oracle Data Integrator)ODI来实现逆向工程,并转换Hive中的JSON数据,最终将处理后的结构化数据加载到关系型数据Oracle中。

涉及的组件

要搭建一个完整的hadoop平台是一件比较费事的工作,本文不会在这块做太多描述 ,在本示例中会直接利用oracle提供的大数据虚拟机,可直接从网上下载使用(here),里面已经配置有CDH、Hive等组件,可直接拿来学习使用。在本示例中,会用到虚拟机中如下大数据平台的组件:

1. Hadoop Framework
2. HDFS
3. Hive
4. Flume
5. ZooKeeper
5. Oracle Database
6. Oracle Data Integrator

各组件不在此作详细说明,每个组件的说明和使用可参考网络中其它文章。为什么使用flume进行数据采集?因为flume通过源和目标端的配置,可以很容易实现从twitter获取数据,并加载到HDFS:

本示例中使用一个现成的flume-twitter插件,从twitter中获取数据。该插件使用JAVA开发,利用了一个开源的SDK-twitter4j,此组件完整覆盖了twitter的API。利用该flume插件,不用再自己编写代码,可实现直接从twitter获取数据,并根据需要投递到自己希望的目标端平台。

操作步骤

第一步是在twitter上创建一个账号,访问https://dev.twitter.com/开发人员版块,然后在https://apps.twitter.com/创建访问数据需要的key和令牌,这些会在flume插件中配置时用到,申请完成之后的界面可能如下:

如果不使用oracle提供的大数据平台虚拟机,则需要在自己安装的系统中启动Hadoop及其它相应的平台,如Hive、zooKeeper等,当然还需要安装配置ODI 12c。如果使用的是Oracle虚拟机,则启动相关的服务即可。

配置flume从twitter获取数据。首先下载flume软件,并拷贝相应的lib到flume的指定目录,比如添加下载的jar到flume的classpath:cp /usr/lib/flume-ng/plugins.d/twitter-streaming/lib/   /var/lib/flume-ng/plugins.d/twitter-streaming/lib/

创建flume.conf, 根据前面的twitter’s key和hadoop编辑此文件,差不多是下面这样:

接下来配置Hive

1. 需要能解析JSON数据的序列类,可以从此处下载一个编译好的JSON SerDe。

2. 创建Hive需要的目录和权限:

$ sudo -u hdfs hadoop fs -mkdir /user/oracle/warehouse
$ sudo -u hdfs hadoop fs -chown -R oracle:oracle /user/hive
$ sudo -u hdfs hadoop fs -chmod 750 /user/oracle
$ sudo -u hdfs hadoop fs -chmod 770 /user/oracle/warehouse

3. 配置Hive的Metastore,本示例是在mysql中创建,在此不再详述。

4. 在Hive中创建tweets表:

回到flume,开始抓取数据:

1. 在hdfs中创建/user/oracle/tweets目录 ,用于存放flume抓取的数据,同时,也是hive表中外部引用路径所在

2. 使用下面的语句启动flume

在运行日志中可以看到flume在不断将抓取到的数据写入对应目录下的文件:

让flume agent运行几分钟,确认已经捕获到了数据之后可以停止此进程。然后在hadoop web控制台可以查看到hdfs对应目录下的数据文件:

查看任何一个数据文件的内容,如下:

数据都是基于json格式的,可以在hive中查看抓取的记录数:

经过flume几分钟的数据抽取,我们已经得到了16161条记录。这就是大数据时代数据产生的威力。

时间: 2024-10-13 17:31:50

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

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

大数据实践:ODI和Twitter(二) 在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIVE表中进行逆向工程,打开HIVE模型,然后在逆向工程中选择“新的数据存储”及待逆向的对象,如下: 逆向工程完成之后,得到如下的元数据信息: 上面的操作步骤与普通的关系型数据库一样,没有特殊之处,ODI可以对HIVE的表进行逆向工程,使用RKM Hive, RKM HBase, IKM File to

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

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

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

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

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

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

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

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

中国的大数据实践

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

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

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

大数据实践总结分享

以上是上一季度自己对于大数据相关技术的学习总结,把之前的一些思维导图集中在一起,便于复习相关知识点.本着人人为我,我为人人的理念,分享给大家.同时,为了学习更有针对性,群友若对哪一个知识点感兴趣的,这是一个总目录,我可以把分知识点的导图分享给需要的人,我们共同讨论,一起进步. 另也将之前学到,看书,与人交流的一些大数据方面的导图分享出来.希望能够自我督促,更快成长! 原文地址:http://blog.51cto.com/bingyang/2073587

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

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