使用hadoop mapreduce分析mongodb数据

使用hadoop mapreduce分析mongodb数据

(现在很多互联网爬虫将数据存入mongdb中,所以研究了一下,写此文档)

版权声明:本文为yunshuxueyuan原创文章。
如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/
QQ技术交流群:299142667

一、 mongdb的安装和使用

1、 官网下载mongodb-linux-x86_64-rhel70-3.2.9.tgz

2、 解压 (可以配置一下环境变量)

3、 启动服务端

./mongod  --dbpath=/opt/local/mongodb/data --logpath=/opt/local/mongodb/logs  --logappend  --fork(后台启动)

第一种:不带auth认证的

第二种:需要带auth认证的(即需要用户名和密码的)

当指定用户名和密码在查看数据,发现就可以看得到了

4、 启动客户端

./mongo

5、客户端shell命令

show dbs    显示mongodb中有哪些数据库

db    显示当前正在用的数据库

use db    你要使用的数据库名

(注:若database不存在,则会创建一个,此时若不做任何操作直接退出,则MongoDB会删除该数据库)

db.auth(username,password)  username为用户名,password为密码 登陆你要使用的数据库

db.getCollectionNames()  查看当前数据库有哪些表

db.[collectionName].insert({...})  给指定数据库添加文档记录

db.[collectionName].findOne()   查找文档的第一条数据

db.[collectionName].find()   查找文档的全部记录

db.[collection].update({查询条件},{$set:{更新内容}})   更新一条文档记录

db.[collection].drop()   删除数据库中的集合

db.dropDatabase()   删除数据库

二、 Mapreduce 分析mongodb的数据实例

 

1、 编写mapreduce的代码前,需要另外添加两个jar包,还有需(jdk1.7以上)

 

2、 需求介绍与实现

原数据:

结果数据:

代码编写:

Job:

Mapper:

Reduce:

最终的结果数据:

三、 最后给大家推荐一个mongodb数据库的管理工具,挺好用的

版权声明:本文为yunshuxueyuan原创文章。
如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/
QQ技术交流群:299142667

时间: 2025-01-09 07:36:49

使用hadoop mapreduce分析mongodb数据的相关文章

使用hadoop mapreduce分析mongodb数据:(2)

在上一篇使用hadoop mapreduce分析mongodb数据:(1)中,介绍了如何使用Hadoop MapReduce连接MongoDB数据库以及如何处理数据库,本文结合一个案例来进一步说明Hadoop MapReduce处理MongoDB的细节 原始数据 > db.stackin.find({}) { "_id" : ObjectId("575ce909aa02c3b21f1be0bb"), "summary" : "go

使用hadoop mapreduce分析mongodb数据:(1)

最近考虑使用hadoop mapreduce来分析mongodb上的数据,从网上找了一些demo,东拼西凑,终于运行了一个demo,下面把过程展示给大家 环境 ubuntu 14.04 64bit hadoop 2.6.4 mongodb 2.4.9 Java 1.8 mongo-hadoop-core-1.5.2.jar mongo-java-driver-3.0.4.jar mongo-hadoop-core-1.5.2.jar以及mongo-java-driver-3.0.4.jar的下载

【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析

Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS)的开源实现. MapReduce是Google MapReduce的开源实现. HDFS和MapReduce实现是完全分离的,并不是没有HDFS就不能MapReduce运算. 本文主要参考了以下三篇博客学习整理而成. 1. Hadoop示例程序WordCount详解及实例 2. hadoop 学习笔

Hadoop源代码分析(包mapreduce.lib.input)

接下来我们按照MapReduce过程中数据流动的顺序,来分解org.apache.hadoop.mapreduce.lib.*的相关内容,并介绍对应的基类的功能.首先是input部分,它实现了MapReduce的数据输入部分.类图如下: 类图的右上角是InputFormat,它描述了一个MapReduceJob的输入,通过InputFormat,Hadoop可以: l          检查MapReduce输入数据的正确性: l          将输入数据切分为逻辑块InputSplit,这

MapReduce分析明星微博数据

互联网时代的到来,使得名人的形象变得更加鲜活,也拉近了明星和粉丝之间的距离.歌星.影星.体育明星.作家等名人通过互联网能够轻易实现和粉丝的互动,赚钱也变得前所未有的简单.同时,互联网的飞速发展本身也造就了一批互联网明星,这些人借助新的手段,最大程度发挥了粉丝经济的能量和作用,在互联网时代赚得盆满钵满. 正是基于这样一个大背景,今天我们做一个分析明星微博数据的小项目 1.项目需求 自定义输入格式,将明星微博数据排序后按粉丝数关注数 微博数分别输出到不同文件中. 2.数据集 明星 明星微博名称 粉丝

使用mapReduce分析简单天气数据

做demo前需要先搭建Hadoop集群,并且有linux基础,可参考 https://www.cnblogs.com/linyufeng/p/10831240.html 1.引出问题 给一串数据,找出每年的每个月温度最高的2天.其中有可能包含着相同的数据. 1949-10-01 14:21:02 34c 1949-10-01 19:21:02 38c 1949-10-02 14:01:02 36c 1950-01-01 11:21:02 32c 1950-10-01 12:21:02 37c 1

Hadoop 中利用 mapreduce 读写 mysql 数据

Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP 的需求,我们需要 mapreduce 与 mysql 进行数据的交互,而这些特性正是 hbase 或者 hive 目前亟待改进的地方. 好了言归正传,简单的说说背景.原理以及需要注意的地方: 1.为了方便 MapReduce 直接访问关系型数据库(Mysql,Oracle),Hadoop提供了DBInp

Hadoop HDFS源码分析 关于数据块的类

Hadoop HDFS源码分析 关于数据块的类 1.BlocksMap 官方代码中的注释为: /** * This class maintains the map from a block to its metadata. * block's metadata currently includes blockCollection it belongs to and * the datanodes that store the block. */ BlocksMap数据块映射,管理名字节点上的数据

Hadoop源代码分析(包hadoop.mapred中的MapReduce接口)

前面已经完成了对org.apache.hadoop.mapreduce的分析,这个包提供了Hadoop MapReduce部分的应用API,用于用户实现自己的MapReduce应用.但这些接口是给未来的MapReduce应用的,目前MapReduce框架还是使用老系统(参考补丁HADOOP-1230).下面我们来分析org.apache.hadoop.mapred,首先还是从mapred的MapReduce框架开始分析,下面的类图(灰色部分为标记为@Deprecated的类/接口): 我们把包m