`
gaozzsoft
  • 浏览: 424630 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
文章列表
Compact作用        当MemStore超过阀值的时候,就要flush到HDFS上生成一个HFile。因此随着不断写入,HFile的数量将会越来越多,根据前面所述,HFile数量过多会降低读性能。为了避免对读性能的影响,可以对这些HFile进行compact操作,把多个HFile合并成一个HFile。compact操作需要对HBase的数据进行多次的重新读写,因此这个过程会产生大量的IO。可以看到compact操作的本质就是以IO操作换取后续的读性能的提高。   Compact两种方式区别        1)Minor操作只用来做部分文件的合并操作以及包括minVersi ...
  HBase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写;另外一部分作为BlockCache,主要用于读数据;上面一篇文章已经介绍过Memstore,这里主要介绍读取数据的部分,即BlockCache。     BlockCache主要提供给读使用。读请求先到memstore中查数据,查不到就到blockcache中查,再查不到就会到磁盘上读,并把读的结果放入blockcache。由于blockcache是一个LRU,因此blockcache达到上限(heapsize * hfile.block.cache.size)后,会启动淘汰机制,淘汰掉最 ...
Shell条件判断if中的-a到-z的意思   [ -a FILE ]  如果 FILE 存在则为真。   [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真。   [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则为真。   [ -d FILE ]  如果 FILE 存在且是一个目录则为真。   [ -e FILE ]  如果 FILE 存在则为真。   [ -f FILE ]  如果 FILE 存在且是一个普通文件则为真。   [ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。 [ -h FILE ]  如果 FI ...
hdfs文件的相关操作主要使用hadoop fs、hadoop dfs、hdfs dfs 命令,以下对最常用的相关命令进行简要说明。 hadoop fs -ls  显示当前目录结构,-ls -R 递归显示目录结构 hadoop fs -mkdir  创建目录 hadoop fs -rm   删除文件,-rm -R 递归删除目录和文件 hadoop fs -put  [localsrc] [dst]  从本地加载文件到HDFS hadoop fs -get  [dst] [localsrc]  从HDFS导出文件到本地 hadoop fs - copyFromLocal [loca ...
     HDFS支持权限控制,但支持较弱。HDFS的设计是基于POSIX模型的,支持按用户、用户组、其他用户的读写执行控制权限。在linux命令行下,可以使用下面的命令修改文件的权限、文件所有者,文件所属组: sudo addgroup Hadoop#添加一个hadoop组 sudo usermod -a -G hadoop larry#将当前用户加入到hadoop组 sudo gedit etc/sudoers#将hadoop组加入到sudoer 在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL 修改hadoop目录的权限 sudo chow ...
  故障解决总结: 某flume问题总结: 不论怎么折腾都不sink写入HDFS和本地磁盘  解决方法: 修改HDFS路径、折腾一下,然后还原线上配置,就可以正常写入HDFS和本地磁盘了,虽然看似奇怪,但是以后再遇到这种问题一定要折腾一下HDFS路径然后还原路径。     补数方法: flume数据采集到HDFS完毕后需要手动执行脚本去补数(HDFS->hive ods表) vi   testbushu.sh for((w=1;w<=10;w++));do if [ -z "$1" ];then ydate=`date -d " ...

Sqoop优化

1.加参数-m 和切分字段--split-by 增加map数 2.分库分表数据接入拉取使用union all优化   e.g.1: sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true"  --connect $connector --null-string '\\N' --null-non-string '\\N' --query "select  CARD_ID,MEMBER_ID,MOBILE,TYPE,PASSWORD ,MEMBER_NAME,USER_ID,TE ...

Impala内置函数

  impala内置函数:     数值处理:   select abs()    绝对值   select power(2,5)   求幂   select sin/cos/tan/asin/acos/atan/atan2()   三角函数   select bin()   十进制转换二进制   ceil()   返回大于参数的最小整数   floor() 返回小于参数的最大整数   conv(23,16,2)  第一个参数从第二个参数16进制转变成第三个参数2进制   degrees(3.14159)   约等于180   弧度转角度   fa ...
JAVA 8 Lambda表达式简化了代码开发,代码简洁,类似Python。 代码实现例子:   new Thread(() -> System.out.println("It's a lambda function!")).start();   List<String> languagesList = Arrays.asList("java","scala","python"); languagesList.forEach(x -> System.out.println(x) ...

Linux vim命令详解

 Linux vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。      现将vim的命令行收集于下: vi有3个模式:插入模式、命令模式、低行模式。     插入模式: ...
ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,AliveTime,拒绝策略等。常用构造方法: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)  
Part One: 一个线程处理 if (CollectionUtils.isNotEmpty(cqcAttachmentDataList)) { long startTimes = System.currentTimeMillis(); final CountDownLatch latchOnlyOne = new CountDownLatch(1); new Thread(new CqcAttachmentDataWorker(latchOnlyOne,"车前程附件数据处理-线程-only", cqcAttachmentDataList)).start(); ...
后端开发必然会接触到数据库,数据层的优劣会影响整个服务的响应时间。所以,数据库的优化技巧是必须掌握的,下面就是我在学习过程中整理的,备忘。 下面为上篇内容,分为以下部分: 一、SQL 执行时间分析 二、SQL 执行情况分析 一、SQL 执行时间分析 通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题。 1.通过 show processlist 来查看系统的执行情况 mysql> show processlist; +----+------+-----------+------+---------+------+-------+----------- ...
  假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。 在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式:   UPDATE product p, productPrice pp  SET pp.price = p.price * 0.8  WHERE p.productId = pp.productId  AND p.dateCreated &l ...
MySQL索引失效的几种情况总结(转载)   1.索引不存储null值   更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本   没Null值,不能利用到索引,只能全表扫描。   为什么索引列不能存Null值?   将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊性就在于参与的运算大多取值为null。   这样的话,null值实际上是不能参与进建索引的过程。也就是说,null值不会像其他取值一样出现在索引树的叶子节点上。   2.不适合键值较少的列(重复 ...
Global site tag (gtag.js) - Google Analytics