`
zhangxiong0301
  • 浏览: 359804 次
社区版块
存档分类
最新评论
文章列表
在linux awk的 while、do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出。break中断当前正在执行的循环并跳到循环外执行下一条语句。if 是流程选择用法。 awk中,流程控制语句,语法结构 ...
引用set语句的学习: 使用select定义用户变量的实践 将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties); 我的修改: select @VAR:=(select sum(amount) from penalties); 我这样改,虽然是可以的。但是,对比的书中的答案,发现这样的方式太蹩脚了。说明没有很好地理解select定义变量的本质。 在select中,发现有一个用户变量,如果没有定义,那么就会初始化。 select子句原来的方式根本不受到影响。只是增加了用户变量。所以,还是按照原来的方式使用select子 ...
最近利用twitter的开源twemproxy做redis的代理,实现redis集群的功能。twemproxy利用一致性hash算法将key进行hash,使众多的key叫均匀的分布在后端各个redis中。值得注意的是这种hash粒度是key级别的,同一个key只会放在一个redis实例里,不 ...
hadoop在序列化的时候,如果被序列化的BEAN里面含有其他对象如list等,一定要在readFields方法里面new出这个新对象。要不然由于序列化里数据重用的原因,会导致list被循环利用,从而使多个BEAN对象的list里面的元素叠加到一个BEAN里。 例如:     public class UserPortrait2RedisBean implements Writable { private String deviceId; private String model; private List<String> tags; ...
在对Hbase进行Scan的时候有时候会抛出ScannerTimeoutException,场景如下:   Java代码   2012 15:28:52 (14mins, 41sec)   org.apache.hadoop.hbase.client.ScannerTimeoutException: 60622ms passed since the last invocation, timeout is currently set to 60000  
一,基本命令:     建表:create 'testtable','coulmn1','coulmn2'      也可以建表时加coulmn的属性如:create 'testtable',{NAME => 'coulmn1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '10', COMPRESSION => 'LZO', TTL => '30000', IN_MEMORY => 'false', BLOCKCACHE => 'false'}, {NAME ...
跑mapreduce时候出现,java.io.IOException:spill failed。经过很久排查,发现是map端数据在溢写过程中出现空指针导致的。也就是我的map的输出keyvalue中的value是b一个bean,但是bean中有个字符串字段未被初始化,为空null。 一般来说,出现溢写错误一般由以下两种原因造成: 1.空指针 2.磁盘空间不足
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce,Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里我尽最大的可能试着把Shuffle说清楚,让每一位想了解它原理的朋友都能有所收获。如果你对这篇文章有任何疑问或建议请留言到后面,谢谢! Shuffle的正常意思是洗牌或弄乱,可能大家更熟悉的是Java AP ...
hive整合hbase表的两点好处:    1.实现数据导入到MYSQL。    2.实现hbase表转换为另外一张hbase表。 三个操作环节:     1.hbase关联hive作为外部表: CREATE EXTERNAL TABLE hive_device_app(row_key string,genera_type string,install_type string,label string,meid string,model string,pkg_name string,specific_type string) STORED BY 'org.apache.hadoop.hi ...
一、    控制hive任务中的map数: 1.    通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改); 2.    举例: a)    假设input目录下有1个文件a,大小为780M,那么hadoop会将该文件a分隔成7个块(6个128m的块和1个12m的块),从而产生7个map数 b)    假设input目录下有3个文件a,b,c,大小分别为10m,20m,130 ...
linux shell中数学运算需要单独处理,默认加法为字符串拼接 1、错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1,依然悲剧,呵呵 2、正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2,这次没有悲剧 注意: a)经我测试let几乎支持所有的运算符,在网上看到一篇文章说“let不支持++、--和逗号、(、)”,但经我测试自加、自减、以及括号的优先级都得到了很好的支持 b ...
<name>hbase.regionserver.handler.count</name> <value>40</value> </property>? ? ? ?hbase.regionserver.handler.count属性可控制RPC侦听程序的线程数。该属性的默认值为10。这是一个相当低的值,这样设置的目的是防止RegionServer在某些 ...
在create一个表时如果不指定预分配region,则默认会先分配一个region,这样在大数据并行载入时性能比较低,因为所有的数据都往一个region灌入,容易引起单节点负载升高,从而影响入库性能,一个好的方法时在建立表时预先分配数个region。方法有两种,主要针对不同版本可供选择。 1.使用RegionSplitter方法,主要针对hbase-0.90.X版本 a.首先使用RegionSplitter建表,预分配region,例如建立一个poidb表,列簇为info,预分配9个region, hbase org.apache.hadoop.hbase.util.RegionSplit ...
把MYSQL中的数据导入到hbase中,采用HBASE自带的BULK加载工具完成。过程分三步: 1.从mysql中导出数据为CSV或TSV格式的文本文件 2.利用importtsv工具转换Tsv文件为hbase的数据文件格式HFILE 3.利用completeulkload加载上一步生成的hbase数据文件 具体步骤: 1.导数据: select concat(model,'_',pkg_name,'_',meid),meid,model,pkg_name,label,install_type,genera_type,specific_type into outfile '/home/zx/ ...
CREATE DEFINER=`coolcloudstat`@`%` PROCEDURE `selectPkg`() BEGIN     DECLARE tableName VARCHAR(100);     DECLARE table_name_done INT DEFAULT 0;     DECLARE table_name_cursor CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_name LIKE '%tb_yl_model_app_usage_info_coolpad%' AND ta ...
Global site tag (gtag.js) - Google Analytics