- 博客(96)
- 资源 (4)
- 收藏
- 关注
转载 hadoop平台综述(转)
1. 概述随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台,虽然其应用价值已得到大家认可,但仍存在很多问题,以下是主要几个:(1) Namenode/jobtracker单点故障。Hadoop采用的是master/slav
2012-02-28 10:03:16
1692
转载 数据倾斜总结
数据倾斜总结 在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出
2012-02-02 16:59:25
688
转载 开源日志系统比较
1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3) 具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。本文从设
2012-01-17 11:15:43
672
转载 mapreduce 编程SequenceFile类的使用
1.对于某些应用而言,需要特殊的数据结构来存储自己的数据。对于基于MapReduce的数据处理,将每个二进制数据的大对象融入自己的文件中并不能实现很高的可扩展性,针对上述情况,Hadoop开发了一组更高层次的容器SequenceFile。 2. 考虑日志文件,其中每一条日志记录是一行文本。如果想记录二进制类型,纯文本是不合适的。这种情况下,Hadoop的SequenceFile类非
2012-01-05 15:05:33
3369
1
原创 cookie 和session 的区别详解
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你。 Cookie
2011-12-22 18:37:52
628
转载 推荐系统在视频网站中的应用
随着互联网特别是社会化网络的快速发展,我们正处于信息过载的时代。用户面对过量的信息很难找到自己真正感兴趣的内容,而内容提供商也很难把优质的内容准确推送给感兴趣的用户。推荐系统被认为是解决这些问题的有效方法,它对用户的历史行为进行挖掘,对用户兴趣进行建模,并对用户未来的行为进行预测,从而建立了用户和内容的关系。视频网站同样也面临着信息过载的问题,比如YouTube目前有数十亿视频条目,而且每分钟
2011-12-13 10:30:06
1530
原创 Java 位运算符
Java 定义的位运算(bitwise operators )直接对整数类型的位进行操作,这些整数类型包括long,int,short,char,and byte 。表4-2 列出了位运算: 表4.2 位运算符及其结果 运算符 结果 ~ 按位非(NOT)(一元运算) & 按位与(AND) | 按位或(OR) ^ 按位异或(XOR) >> 右移 >>
2011-12-08 13:10:03
594
原创 java实现数的遍历
import java.util.ArrayList;import java.util.List;public class Tree { // design node for tree public void printNode(TreeNode node) { System.out.print(node.getData()); } class TreeNode {
2011-12-06 15:28:49
1321
原创 用java实现二叉树遍历
public class BinaryTree { // design node for tree public void printNode(TreeNode node) { System.out.print(node.getData()); } class TreeNode { private String data; private TreeNode lef
2011-12-05 19:02:50
5820
1
原创 nginx安装
一、前提安装pcre-7.8.tar.gz解压tar -xzvf pcre-7.8.tar.gz进入到pcre-7.8目录./configuremake && make install二、安装nginx解压tar -xzvf nginx-0.7.62.tar.gz进入到nginx-0.7.62./configure --prefix=/usr/local/ser
2011-12-02 15:32:09
650
转载 两个OOM Cases排查过程的分享
分享一下两个OOM Cases的查找过程,一个应用是Native OOM;另外一个应用其实没有OOM,只是每隔一段时间就会出现频繁FGC的现象,OOM的查找已经具备了不错的工具,但有些时候还是会出现很难查的现象,希望这两个排查过程的分享能给需要的同学带来一些帮助。Native OOM的排查Case之前的几个PPT里我都说到了,目前查找Native OOM最好的方法就是用google per
2011-11-30 15:14:43
828
原创 hive的编译模块设计
解析器(Parser)解析器 由antlr生成, 文法定义在Hive.g文件中。它的功能是将查询字符串翻译成抽象语法树(Abstract Syntax Tree, 简称AST).语法分析器(Semantic Analyzer)语法分析器将AST转换成内部查询形式,此形式为查询块(Query Block), 而不是一棵操作符树(Opertator Tree).它还验证查询语句中的列名,
2011-11-23 15:06:24
1571
原创 hive之explain命令
EXPLAIN FROM src119 SELECT key , count(distinct value) group by key ABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_TABREF src119)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SE
2011-11-22 11:46:59
4275
原创 hive执行源码分析
大体看了一下 Hive 源码,主要包括 客户 / 服务器通信 ,语法解析器,语义分析器,逻辑计划生成器,计划优化器,物理计划生成器,物理计划执行器等部分。分别由包 parse,plan, optimizer, Exec 中的代码来实现的。 Hive 是将 SQL 语句转换成 hadoop 的 MapReduce 程序,通常在客户端执行 hive 命令,然后输入 SQL 语句后,
2011-11-22 11:35:03
2916
原创 单例模式不简单
单例模式看似简单,但如果写的不够规范,在高并发下可能会产生严重的堵塞。一般单例的实现有两种方式:代码一:public class EagerSingleton{private static final EagerSingleton m_instance = new EagerSingleton();/*** 私有的默认构造子*/private EagerSingle
2011-11-21 21:47:22
721
原创 hadoop集群
我总好奇其他公司是如何安装Hadoop集群的。他们是如何使用微系统的。由于Hadoop仍然是新技术,还没有最佳实践。每个公司都是按照他们的想法实施Hadoop集群的最佳架构。 Hadoop NYC2010会议上,ebay展示了他们的生产环境中Hadoop集群的实施情况。下面是ebay实施Hadoop的要点。 1) JobTracker, Namenode, Zookeeper, HBase M
2011-11-21 11:46:25
871
原创 Java长期运行后, jps等工具无法连接jvm
相信很多朋友都遇见过, 一个Java应用长期运行后, 发现jps, jstack, jstat等工具都无法连接正在运行的jvm了。 如果这个时候发生故障, 非常难以诊断。 一直以来, 我都以为是Java的bug. 最近偶然得知, jps的工作模式是读取了系统临时文件夹下的pid文件里的内容获得连接信息的。 这个文件夹在Linux下的名字是:/tmp/hsperfdata_$USER
2011-11-18 15:15:21
1025
原创 hadoop性能调优
hadoop集群调优分两个方面,map和reduce map调优: map 任务执行会产生中间数据,但这些中间结果并没有直接IO到磁盘上,而是先存储在缓存(buffer)中,并在缓存中进行一些预排序来优化整个map的性能,该存储map中间数据的缓存默认大小为100M,由io.sort.mb 参数指定.这个大小可以根据需要调整。当map任务产生了非常大的中间数据时可以适当调
2011-11-18 10:35:28
2035
原创 scribe安装
安装过程:一、输入gcc –v 检查gcc版本是否>3.3.5 是,则继续下一步。否,则安装gcc 。二、安装ruby 和python python 用默认安装路径。Ruby 推荐使用默认路径 安装过程均为./configure make make install三、安装lievent 解压安装即可
2011-11-16 11:03:08
1620
原创 nfs服务器搭建
Server端:1./etc/exports格式: 目录 选项 例:共享/share目录给192.168.0.x的用户/home master16*(ro,root_squash)/usr/local master16*(ro,root_squash)/opt/DATA
2011-09-08 15:08:57
449
原创 ldconfig详解
ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动
2011-09-07 16:27:01
898
原创 得到类所在jar包的实际路径
String path = Test.class.getProtectionDomain().getCodeSource().getLocation().getFile();这个是得到类所在jar包的实际路径,也就是说,该类是作为项目的依赖jar包中的类。Test.class.getClass().getResource(".").getPath();Test.class.getClass
2010-05-17 12:01:00
3539
原创 url与url的区别
request.getRequestURI() /app/index.jsprequest.getRequestURL() http://localhost/app/index.jsp
2010-03-16 18:59:00
678
原创 js跨域访问
主项目:http://zyj.com:8080/home子项目:http://zcl.com:8170/home只需在两个项目的页面均加上如下即可: document.domain="zyj.com";
2010-03-16 18:55:00
657
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人