- 浏览: 67418 次
- 性别:
- 来自: 北京
最新评论
-
di1984HIT:
学习了。
hadoop-mahout 核心算法总结 -
yischool:
好东西 标记下
shell
文章列表
注:本文是结合hbase实战以及网上的博文概述了一下,以作后期使用时的备份。
参考资料:http://www.cnblogs.com/LBSer/p/3310455.html
百度地图,美团,大众点评等等等等,都会有查找附近的功能,如何实现呢?计算所在位置 ...
讨论此问题前,先理解一个问题。
关于Hbase热点问题
当处理由连续事件得到的数据时,即时间上连续的数据。这些数据可能来自于某个传感器网络、证券交易或者一个监控系统。它们显著的特点就是rowkey中含有事件发生时间。 ...
Hbase的原生java 客户端是完全同步的,当你使用原生API 例如HTableInterface 访问HBase表,每个动作都会有一个短暂的阻塞,这对于一些流程较长的操作看起来比较不利。
HBase在此还提供了另外一种java客户端 asynchbase,它实现了完全异步以及考虑线程安全。
依赖jar:asynchbase.jar
slf4j-api.jar
slf4j-simple.jar
实战实例:
现在Hbase 数据库有100W条存储了用户的数据信息,信息包括用户名以及用户密码 数据表如下
rowkey:username
col family: ...
首先介绍常用的几种 mapreduce 方法
reduce side join
reduce side join是一种最简单的join方式,其主要思想如下:
在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签(tag),比如:tag ...
Mapreduce优化的点滴
- 博客分类:
- hadoop
注:转载
1. 使用自定义Writable
自带的Text很好用,但是字符串转换开销较大,故根据实际需要自定义Writable,注意作为Key时要实现WritableCompareable接口
避免output.collect(new Text( ),new Text())
提倡key.set( ) value.set( ) output.collect(key,value)
前者会产生大量的Text对象,使用完后Java垃圾回收器会花费大量的时间去收集这些对象
2. 使用StringBuilder
不要使用Formatter StringBuffer( 线程安全)
Str ...
hadoop 如何自定义类型
- 博客分类:
- hadoop
记录一下hadoop 数据类型章节的笔记,以便后期使用,本文是边学习边记录,持续更新中
Hadoop 常用自带的数据类型和Java数据类型配比如下
Hadoop类型Java类型描述BooleanWritableboolean布尔型IntWritableint整型FloatWritablefloat浮点floatDoubleWritabledouble浮点型doubleByteWritablebyte整数类型byteTextString字符串型ArrayWritableArray数组型
在此首先明确定义下序列化
参考百度百科
序列化 (Serialization)将对象的状态信息转换为可以 ...
在我看来 hadoop的核心是mapreduce,而mapreduce的核心则是 shuffle,在我们需要优化mapreduce,提高mapreduce效率时,需要优化的核心代码都在这个shuffle过程。
我从网上拉过来一张图,加上自己的标注来详细记录一下该过程,以便后期优化代码做一个记录
mapreduce整个执行过程如下如所示
其中1、2、3、4....是我自己加上的以便一步一步来分析,下面我们来根据源代码分析这一步一步的过程,在此我跟踪的源代码是 hadoop-1.2.1 版本
1:inputSplit 这个过程我们看JobClient 类的wri ...
redis存储类型以及持久化存储方式介绍
- 博客分类:
- redis
redis存储数据类型
与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多。最为常用的数据类型主要由五种:String、Hash、List、Set和Sorted Set.
Redis内部使用一个redisObject对象来表示所有的key和value。redi ...
-- 声明游标;CURSOR cursor_name IS select_statement
--For 循环游标
--(1)定义游标
--(2)定义游标变量
--(3)使用for循环来使用这个游标
declare
--类型定义
cursor c_job
is
select empno,ename,job,sal
from emp
where job='MANAGER';
--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行 ...
应用场景:
table name A
field name:
yesterday date(昨日日期)
today date(今日日期)
yesterdaynum number(昨日数量=totle)
todaynum number(今日数量)
totle number(今日总量=yesterdaynum+todaynum)
可见表A昨日数据需要与今日数据相关联,若用户修改了三天前的一个totle字段值,理论上来说应该在这三天发生的数据都要做相应修改。
实现方案 ...
create or replace package TAL_TEST is
TYPE myCursorType IS REF CURSOR;
--测试空游标
PROCEDURE p_testEmptyCursor;
end TAL_TEST;
create or replace package body TAL_TEST is
--测试空游标
PROCEDURE p_testEmptyCursor
IS
rowRecord SJ_CD_PERIODS%ROWTYPE;
myCursorFirst myCu ...
ZooKeeper伪分布式集群安装及使用
- 博客分类:
- hadoop
1. zookeeper介绍
ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
ZooKeeper是作为分布式协调服务,是不需要依赖于Hadoop的环境,也可以为其他的分布式环境提供服务。
2. zookeeper单节 ...
其实大家都知道hadoop为我们提供了一个大的框架,真正的算法还是要程序员自己去实现,所以了解hadoop大概架构之后就要了解一些基本的算法。
mahout--可以理解为hadoop的驾驶员。学习它一定要从《mahout in action》入手,在此我记录下一些学习的笔记仅供参考。
第一节:基于用户的推荐算法
GenericUserBasedRecommender 算法原理
官方解释:
for every other user w
compute a similarity s between u and w
retain the top users, ran ...
推荐引擎内部原理--mahout
- 博客分类:
- hadoop
转载自:https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/
集体智慧和协同过滤
什么是集体智慧
集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web 应用中利用集体智慧构建更加有趣的应用或者得到更好的用户体验。集体智慧是指在大量的人群的行为和数据中收集答案,帮助你对整个人群得到统计意义上的结论,这些结论是我们在单个个体上无法得到的,它往往是某种趋势或者人群中共性的部分。
Wikipedia 和 Google 是两个 ...
- 2015-01-22 11:11
- 浏览 569
- 评论(0)
hadoop 动态添加删除节点
- 博客分类:
- hadoop
转自:http://www.cnblogs.com/rilley/archive/2012/02/13/2349858.html
添加节点
1.修改host 和普通的datanode一样。添加namenode的ip
2.修改namenode的配置文件conf/slaves 添加新增节点的ip或host
3.在新节点的机器上,启动服务
[root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start datanode
[root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start taskt ...