大数据实践: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 agent运行几分钟,确认已经捕获到了数据之后可以停止此进程。然后在hadoop web控制台可以查看到hdfs对应目录下的数据文件:
查看任何一个数据文件的内容,如下:
数据都是基于json格式的,可以在hive中查看抓取的记录数:
经过flume几分钟的数据抽取,我们已经得到了16161条记录。这就是大数据时代数据产生的威力。
大数据实践:ODI 和 Twitter (一)的更多相关文章
- 大数据实践:ODI 和 Twitter (二)
大数据实践:ODI和Twitter(二) 在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIV ...
- 大众点评的大数据实践-CSDN.NET
大众点评的大数据实践-CSDN.NET 大众点评的大数据实践 爬虫工程师成大数据时代的"宠儿" - 杭州新闻中心 - 杭州网 爬虫工程师成大数据时代的"宠儿"
- 大数据实践-数据同步篇tungsten-relicator(mysql->mongo)
// mongo)";digg_bgcolor = "#FFFFFF";digg_skin = "normal"; // ]]> // [导读] ...
- 读<大数据日知录:架构与算法>有感
前一段时间, 一个老师建议我能够学学 '大数据' 和 '机器学习', 他说这必定是今后的热点, 学会了, 你就是香饽饽.在此之前, 我对大数据, 机器学习并没有非常深的认识, 总觉得它们是那么的缥缈, ...
- 年度钜献,108个大数据文档PDF开放下载
1.大数据的开放式创新——吴甘沙 相关阅读:[PPT]吴甘沙:让不同领域的数据真正流动.融合起来,才能释放大数据的价值 下载:大数据的开放式创新——吴甘沙.pdf 2.微软严治庆——让大数据为每个人服 ...
- WOT2016大数据技术峰会——千人技术盛宴
WOT2016大数据技术峰会是一场聚焦大数据领域最前沿的的技术及经验分享.2016年11月25-26日北京粤财JW万豪酒店如约而至,会议规模达到1000人! 由51CTO主办的千人技术盛宴--WOT2 ...
- 《决战大数据:驾驭未来商业的利器》【PDF】下载
内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...
- MaxCompute,基于Serverless的高可用大数据服务
摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永明为大家分享了 ...
- Data.gov.uk电子政务云,牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践
牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践 我是牛津互联网研究院的研究员,是英国开放互联网的一个主要的研究机构和相关政策制订的一个机构.今天主要给大家介绍一下英国数据治理的一些现状和实践 ...
随机推荐
- log4j 的rootLogger与rootCategory的区别
一句话 rootLogger是新的使用名称,对应Logger类 rootCategory是旧的使用名称,对应原来的Category类 Logger类是Category类的子类,所以,rootCateg ...
- linux locate: command not found
装好系统发现使用locate查找文件,提示 -bash: locate: command not found yum install locate 无效,看来locate不是软件名称 [root@ce ...
- CodeForces 617C【序枚举】
题意: 有两个点喷水,有很多个点有花,给出坐标. 求使得每个花都可以被喷到,两个喷水的半径的平方的和最小是多少. 思路: 枚举其中一个喷水的最大半径. 坑: 这题我贪心的思路有很大问题.一开始也是想这 ...
- iOS 7.0获取iphone UDID 【转】
iOS 7.0 iOS 7中苹果再一次无情的封杀mac地址,使用之前的方法获取到的mac地址全部都变成了02:00:00:00:00:00.有问题总的解决啊,于是四处查资料,终于有了思路是否可以使用K ...
- 图论Hrbust1708许可证
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1708 #include<st ...
- Markdown 编辑器语法指南
基本技巧 代码 如果你只想高亮语句中的某个函数名或关键字,可以使用 `function_name()` 实现 通常编辑器根据代码片段适配合适的高亮方法,但你也可以用 ``` 包裹一段代码,并指定一种语 ...
- FlashBuilder的快捷键
Ctrl-F11: 执行(Run) F11: 除错(Debug) Ctrl-Alt-Down: 重复目前所在编辑列(Repeat current line ) Alt-Up: 移动本列,或选择列往上移 ...
- Kafka Quick Start
1.Download > tar -xzf kafka_2.11-0.10.0.0.tgz> cd kafka_2.11-0.10.0.0 2.启动zookeeper服务 Kafka使用的 ...
- 慕课网-安卓工程师初养成-4-7 Java循环语句之 while
来源: http://www.imooc.com/code/1420 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...
- IOS9以上如何导入铃声并设置
1.打开iTunes,点击左侧的“音乐” .2.在右侧的MP3等音乐列表中选中一个要制作铃声的名字 .3.在这个名字上点击鼠标右键选择“显示简介”,在弹出窗口中选择“选项”.4.在选项标签栏中设定开始 ...