- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 RocketMQ消费者,设置setConsumeFromWhere无效的问题
今天用了阿里开源的RocketMQ,第一次消费,使用新的consumserGroup消费,设置consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);但是结果还是从offset为0 开始消费。网上也有很多人遇到了这个问题,但是并没有答案。所以我查看了一下源码,在客户端代码(rocketmq-clie
2016-06-16 20:22:13
14101
2
原创 使用R语言画圆弧条形图
之前在微博上看到一个用弧形展示的百分比图,感觉很有创意,就想使用R来实现一样的功能,效果如下:原图:http://photo.weibo.com/1787567623/wbphotos/large/photo_id/3567461742163767?refer=weibofeedv5使用R画出来的效果图:代码比较简单,这里就不讲解了,有兴趣的话,大家自己看代码吧
2013-04-22 21:50:18
11680
翻译 JAVA Metrics度量工具 - Metrics Core 翻译
Metrics核心翻译自Metrics官方文档: http://metrics.codahale.com/manual/core/JAVA Metrics是一个用于度量的一个JAVA的类库,使用请参见 Java Metric使用介绍1> http://blog.youkuaiyun.com/scutshuxue/article/details/8350135或者官方的快速入门:
2012-12-20 22:04:11
16714
原创 JAVA Metrics 度量工具使用介绍1
Java Metric使用介绍1Metrics是一个给JAVA提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同时,Metrics能够很好的跟Ganlia、Graphite结合,方便的提供图形化接口。 下面简单介绍下Metrics如何使用。Maven地址:只需要增加metrics-core即可使用
2012-12-20 15:40:21
46919
原创 Greenplum获取一个SQL结果的字段名
在Greenplum中,对于任意一个SQL,我们想获取这个SQL执行后的字段名是比较难的。比方说在写一个通用工具的时候,使用copy命令将一个SQL导出成文本,但是每个字段的名称导出的文本中却没有,如果使用自己解析SQL的话就太复杂了如果我们想取得这些字段名的话,不真正执行sql,因为在生成执行计划的时候已经,我知道的有以下几种方法:1.使用JDBC,prepareStatement先
2011-12-18 00:02:23
3300
原创 greenplum is_date C语言接口
在greenplum/postgresql中,将字符串转换成时间是很方便的,很多种格式的时间,gp都可以自动识别出是否时间字符。如果不是时间或者时间不正确的话,sql会报错。aligputf8=# select'2011-13-10 10:10:10'::date;ERROR: date/time field value out of range:"2011-13-10 10:10:
2011-12-05 09:31:08
3240
原创 Hbase shell 常用命令(1)
下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:名称命令表达式创建表create '表名称', '列名称1','列名称2','列名称N'添加记录 put '表名称', '行名称', '列名称:', '值'查看记录
2011-11-18 14:28:29
250966
3
原创 postgresql/greenplum查询依赖于表上的视图
在postgresql、greenplum中,我们经常需要重建某张表,为了方便回滚,我们一般将原表rename掉,然后重建原表。 这样子,就会有一个问题:依赖于原表的视图还是依赖于rename的表,没有依赖于新表。这是因为视图定义的时候是根据表的oid来定义了,原
2011-09-19 19:10:34
7728
原创 Greenplum聚合函数的两种实现:HashAggregate与GroupAggregate
在Postgresql/Greenplum数据库中,聚合函数有两种实现方式:HashAggregate与GroupAggregate。 我们现在通过一个最简单的sql来分析这两种聚合的区别以及其应用场景。 select count(1) from pg_
2011-09-19 18:39:15
7991
原创 关于greenplum中的appendonly表
在greenplum里面有一种appendonly表,只能insert,不能update、delete的一种表,对于压缩表跟列存储来说,前提是必须是appendonly的表。下面介绍appendonly表的一些特性。1.首先建一张appendonly的表:aligpu
2011-09-01 17:00:19
10151
原创 greenplum(postgresql)之数据字典
greenplum是基于postgresql开发的分布式数据库,里面大部分的数据字典是一样的。我们在维护gp的时候对gp的数据字典比较熟悉,特此分享给大家。在这里不会详细介绍每个字典的内容,只会介绍常见的应用以及一些已经封装好了的函数。具体的介绍大家可以去看postgresql的
2011-04-29 13:36:00
18443
原创 greenplum中在master上查看底层所有节点的sql语句
<br /> <br />greenplum是一个分布式数据库,底下有很多的postgresql的数据库,我们有时候需要知道底层节点在干些什么,能否直接在master上有一个视图,或者sql,可以看到底下每个节点的sql,并且可以标识出是哪一个机器,哪一个端口的数据库,下面介绍方法:<br />3.3跟4.0的架构有所改变,所以方法也不一样。<br />1.创建v_active_sql视图方便查看sql:<br />CREATE VIEW v_active_sql AS<br />SELECT pg_sta
2011-04-02 14:45:00
6066
原创 OpenSolaris新特性解析
OpenSolaris新特性解析之一:Opensolaris之前身今世 http://bbs.chinaunix.net/viewthread.php?tid=1221539OpenSolaris新特性解析之二:ZFS
2011-01-02 15:26:00
1220
原创 postgresql 多行变一行,C语言自定义函数
函数效果如下:select * from cxf limit 10;id----------abcdefghij(10 row)mysql=# select STRCAT2(id,'|') from (select
2010-12-19 13:43:00
2808
原创 gp_distribution_policy
<br />gp_distribution_policy 记录了greenplum中一个表的分布策略,其实就是哪一个字段是分布键。<br /> <br />Table "pg_catalog.gp_distribution_policy"<br /> Column | Type | Modifiers <br />----------+------------+-----------<br /> localoid | oid | not null<br /> attrnums
2010-12-12 22:12:00
2624
原创 gp_configuration_history
gp_configuration_history是关于gp_configuration的一个日志记录,当有节点不可用时,或者使用gprecovery修复节点时,这个时候需要修改gp_configuration,并把修改的日志写gp_configuration_history中, gpaddmirrors, gprecoverseg, 和gpinitsystem 这几个命令会中记录这个日志,当有节点坏了的时候,我们可以查询这个表看greenplum是什么时候发现的。有助于我们排除错误 Table "pg_c
2010-12-12 21:46:00
1679
原创 postgresql中快速对系统表实现vacuum full
<br /> vacuum full会锁表,而且效率很低,在实际中不可能使用vacuum来缩小pg_class,这样会有很长的停机时间。<br /> 其实要实现vacuum full最简单的方法就是将一个表重新复制一遍,create table b as select * from a;然后再使用b表代替a表使用就可以了。<br /> 鉴于pg_class是所有表的基础,我们就算将其拷贝也无法将其取代掉。这样,我们可以以另外一种方式来实现,替换底层数据文件。由于pg_class有一个
2010-12-11 23:55:00
4361
原创 如何修改postgresql中一个表的oid
<br />oid是一个系统的隐藏列。直接修改是不行的。<br />mysql=# update pg_class set oid = 99999 where oid=73728;<br />ERROR: cannot assign to system column "oid"<br />LINE 1: update pg_class set oid = 99999 where oid=73728;<br />但是我们可以将其删除<br />mysql=# delete from pg_class whe
2010-12-02 23:34:00
5772
1
原创 postgresql 通过数据字典建表,不用create TABLE
<br />postgresql 通过数据字典建表,不用create TABLE<br />今天对postgresql的数据字典有个简单的了解,postgre的表结构等信息都是放在数据字典中的,那我们能不能简单的往数据字典中插入数据来实现建表的功能呢?<br />以下做了一个简单的实验:<br />1.在postgresql的实例中创建一个表<br />create table test(a int); <br />然后去查以下几个数据字典,结果如下<br />pg_class:<br />select o
2010-12-02 00:30:00
4099
原创 postgresql,oracle,mysql通过数据字典获取表结构
<br />postgresql,oracle,mysql通过数据字典获取表结构,需要schema名跟表名。<br />postgresql:<br /> SELECT a.attname,pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type <br /> FROM pg_catalog.pg_attribute a,<br /> (SELECT c.oid <br /> FROM pg_catalog.pg_class c
2010-11-30 21:51:00
3129
原创 os.walk 遍历目录
<br />在python中,遍历目录是很方便的,不用自己再去写代码。已经集成在其中了<br />import os<br />for root, dirs, files in os.walk('/home/gpadmin1/cxf/gpdata', topdown = True):<br /> print root,' : ',dirs,' : ',files<br />root 存放的是所有的目录,递归的<br />dirs 表示在该目录下还有其他的哪些目录<br />files 表示在该目录
2010-11-30 15:42:00
1888
原创 基于hadoop的Cloudbase的问题/Bug
<br />1./t 是关键字来的<br />2.insert 不存在的表 select * from other表;<br /> 先会跑hadoop任务,在insert,发现错误<br />3.容错处理差<br />4.不能使用‘/005’,需要使用,必须修改源码<br /> if( sep.equals( "//t"))<br /> sep = "/t";<br /> else<br /> sep = sep.replaceAll("^////", "");<br />
2010-11-28 17:05:00
1007
原创 greenplum 实验,动态增加节点
<br /><br />greenplum 实验,动态增加节点<br />1.我原有在hadoop4-hadoop6上初始化了一个greenplum的集群<br />2.所有的primary,mirror都启动着,我连接master,在两个表里插入记录:<br />aligputf8=# insert into pg_catalog.pg_filespace_entry values(3052,15,'/home/gpadmin1/cxf/gpdata/gpdb_p1/gp6');<br />INSERT
2010-11-28 16:04:00
5544
原创 MapReduce名词解释
<br /><br />在网上收集了一些mapreduce中常用的一些名词的解释,分享一下:<br />Shuffle(洗牌):当第一个map任务完成后,节点可能还要继续执行更多的map 任务,但这时候也开始把map任务的中间输出交换到需要它们的 reducer那里去,这个移动map输出到 reducer 的过程叫做shuffle。<br /> <br />Partition:每一个reduce节点会分派到中间输出的键集合中的一个不同的子集合,这些子集合(被称为“partitions”)是reduce任
2010-11-28 16:00:00
3426
原创 关于tinyxml的剖析及遍历
<br />之前在学习xml文本解析,发现一个比较好用的开源程序,tinyxml,在这里分享一下tinyxml的原理跟XML文件的遍历操作。TinyXML是一个简单的,轻量级的,由C++实现的XML文档的解析器,它可以被其它程序方便地集成进去使用关于tinyxml的剖析:<br />下面是名为 example.xml的文档,后续的剖析都会以这个xml文档为例:example.xml<br />(1)tinyxml把xml文档建立成一棵DOM(Document Object Model)树,具体实现用的是
2010-11-28 15:59:00
5013
原创 java服务端,python客户端交互
<br /><br />java服务端,python客户端交互<br />前段时间考虑了一下不同语言的程序之间怎么进行交互。就像是数据库系统,可以用很多语言(c,java,php,python等待)来连接,那他们之间应该是怎么交互的呢。以下我尝试用python跟java写了一个C/S结构的交互。代码如下。<br />启动一个java的server后,可以用多个python程序来连接(当然,也可以用其他语言来连接),这里采用的都是socket的连接方式,client端可以向服务端发送请求,等待服务端响应(我写
2010-11-28 15:58:00
6066
原创 gp升级脚本gpmigrator笔记
<br /><br />必备条件(从gp的admin手册中翻译)<br /> 1.保证你登录到gpmaster节点,并且是gp superuser(gpadmin)<br /> 2.在所有gp节点上安装gp4.0的bin文件<br /> 3.把用户自定义的模块复制到gp4.0的相应目录下,如一些函数,包等<br /> 4.把一些你额外增加的文件或文件夹复制或保存,因为只有gp需要的文件才会被gpmigrator这个命令保存<br /> 5.在所有的数据库中运行vacuum,并且删除所有的
2010-11-28 15:57:00
2968
原创 分布式数据库系统扩容时数据迁移问题的一点思考
<br /> <br />分布式数据库系统扩容时数据迁移问题的一点思考<br />记得在以前找工作的时候笔试时就遇到过类似这种问题,那个时候只知道普通hash取模,没做好这道题目,现在工作了之后,接触过一些类似的东西,对这个问题有点思路了,在这里抛砖引玉,写出来跟大家交流一下,写得不好欢迎拍砖。<br />假设:我们现在集群中有三台机器,标记为ma,mb,mc,假设现在每个机器的数据都是比较平均的。<br />一般做数据分布的时候一般用的都是hash算法,将主键(或者说是分布键)算出hash值,普通的就通过
2010-11-28 15:56:00
4535
原创 使用hadoop MapReduce进行排序
<br /><br /> 在hadoop中的例子TeraSort,就是一个利用mapredue进行排序的例子。本文参考并简化了这个例子:<br /> 排序的基本思想是利用了mapreduce的自动排序功能,在hadoop中,从map到reduce阶段,map出来的结构会按照各个key按照hash值分配到各个reduce中,其中,在reduce中所有的key都是有序的了。如果使用一个reduce,那么我们直接将他output出来就行了,但是这不能够体现分布式的好处,所以,我们还是要用多个reduc
2010-09-30 09:45:00
11662
原创 使用ant编译hive
<br /><br />使用ant编译hive<br />需要的工具:ant 具体安装,请自己在网上查找<br />1.使用svn检出hive的源代码:<br /> svn地址:http://svn.apache.org/repos/asf/hadoop/hive/trunk<br /> 可参考:http://wiki.apache.org/hadoop/Hive/GettingStarted<br /> <br />2.直接使用ant命令的时候,程序会去网上下载hadoop
2010-09-30 09:42:00
6222
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人