- 浏览: 25231 次
- 性别:
- 来自: 北京
最新评论
-
秦时明月黑:
牛逼,霸气
Hive中小表与大表关联(join)的性能分析
文章列表
http://blog.linezing.com/2012/03/hbase-performance-optimization
public class WriteReadSequenceFileTest {
/**
* @param args
*/
public static void main(String[] args) {
Configuration conf=new Configuration();
conf.set("fs.default.name", "hdfs://172.168.8.54:9000");
conf.set("hadoop.job.ugi", "hadoop");
try { ...
因为工作内容的原因,我在前后两家公司中的工作中主持和经历了十余次代码和架构的重构,下面随便说说我对重构的一些经验和想法。
关于重构
首先重构面临的背景都是相似的,程序员们为了快速完成需求和上线而写出了最基本的代码,而在功能的不断扩充过程中,以打补丁的方式对代码进行扩充,中间还会面临着开发人员的变更和离职。逐渐的,代码就会越来越臃肿,渐渐的变得难以维护。
糟糕的架构会有什么样的影响?首先是开发效率的降低,在糟糕架构下加进新功能,会受之前代码的影响,可能存在意想不到的改动点和问题点,开发和调试时间都会大大增加;其次是故障率的提升,在质量低下的代码中,总是容易藏着很多不易发现的坑,这些都会 ...
1. 磁盘使用情况
du -h 查看当前用户每个文件的大小,格式化显示
df -h 磁盘使用情况
iostat -xm 3 磁盘的读写情况
2. VI常用命令
esc切换文件读写状态,I键插入,O键追加
:q! 强制退出
:wq 保存后退出
:x 保存后退出
G 到文件尾部
1G到文件首 或者 gg
0行首
$行尾
ctrl + f 向文件尾翻一页
ctrl + b向文件首翻一页
/patten 从光标开始处,向文件尾搜索patten
?patten 从光标处开始,向文件末搜索patten
: s /p1 /p2 /g 将当前行中所有p1全部替换为P2
:n1,n2 s /p1 /p2 ...
前言:前段时间在网上看到腾讯后台开发总监bison分享的一篇文章《浅谈过载保护》,读来受益匪浅。
刚好自己也在处理系统请求过载的问题,把自己的一些心得体会总结出来拿来与大家一起探讨。
在bison的文章中谈到 ...
前言:最近在做分布式海量数据处理项目,使用到了java的线程池,所以搜集了一些资料对它的使用做了一下总结和探究,
前面介绍的东西大多都是从网上搜集整理而来。文中最核心的东西在于后面两节无界队列线程池和有界队列线程池的实例
使用以及线上问题处理方案。
1. 为什么要用线程池?
在Java中,如果每当一个请求到达就创建一个新线程,开销是相当大的。在实际使用中,每个请求创建新线程的服务器
在创建和销毁线程上花费的时间和消耗的系统资源,甚至可能要比花在实际处理实际的用户请求的时间和资源要多的多。除
了创建和销 ...
常用排序算法小记
排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。
废话不多说,下面逐一看看经典的排序算法:
1. 选择排序
选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最小值,然后将找到的最小值与 i 指向的值进行交换。因为每一趟确定元素的过程中都会有一个选择最大值的子流程,所以人们形象地称之为选择排序。
举个实例来看看:
初始: [38, 17, 16, 16, 7, 31, 39, 32, 2, 11]
i = 0: [2 , 17 ...
用户查询
select username,account_status,default_tablespace from user_users/dba_users
表空间查询
select tablespace_name from user_tablespaces/dba_tablespaces;
创建用户
create user news identified by news default tablespace news_tablespace
grant connect,resource to news; --表示把 connect,resource权限授予news用户
grant d ...
第一, 谈谈final, finally, finalize的区别。 (最常被问到)
final修饰符(关键字)
如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract,又被声明为final。将变量或方法声明为final,可以保证它们在使用中不被改变。其初始化可以在两个地方:一是其定义处,也就是说在final变量定义时直接给其赋值;二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样 ...
HBase是Hadoop中的一个简单数据库。它与Google的Bigtable特别相似,但也存在许多的不同之处。
数据模型
HBase数据库使用了和Bigtable非常相似的数据模型。用户在表格里存储许多数据行。每个数据行都包括一个可排序的关键字,和任 ...
创建表
hive> CREATE TABLE pokes (foo INT, bar STRING);
创建表并创建索引字段ds
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
显示所有表
hive> SHOW TABLES;
按正条件(正则表达式)显示表,
hive> SHOW TABLES '.*s';
表添加一列
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
添加一列并增加列 ...