- 浏览: 424630 次
- 性别:
- 来自: 北京
最新评论
-
huijz:
...
Spring Data JPA研究-使用Spring Data JPA 简化JPA 开发(ZZ) -
用户名不存在:
[img][/img][*]引用[u][/u][i][/i][ ...
MongoDB 模糊查询的三种实现方式-morphia实现 -
junsheng100:
请给个完整的例子吧!包括jar文件等
java调用ffmpeg获取视频文件信息参数代码 -
mj:
谢谢!!
SQL Server里面如何导出包含(insert into)数据的SQL脚本 (转载ZZ)
文章列表
HBase-MinorCompact研究
- 博客分类:
- HBase
Compact作用
当MemStore超过阀值的时候,就要flush到HDFS上生成一个HFile。因此随着不断写入,HFile的数量将会越来越多,根据前面所述,HFile数量过多会降低读性能。为了避免对读性能的影响,可以对这些HFile进行compact操作,把多个HFile合并成一个HFile。compact操作需要对HBase的数据进行多次的重新读写,因此这个过程会产生大量的IO。可以看到compact操作的本质就是以IO操作换取后续的读性能的提高。
Compact两种方式区别
1)Minor操作只用来做部分文件的合并操作以及包括minVersi ...
HBase之BlockCache研究
- 博客分类:
- HBase
HBase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写;另外一部分作为BlockCache,主要用于读数据;上面一篇文章已经介绍过Memstore,这里主要介绍读取数据的部分,即BlockCache。
BlockCache主要提供给读使用。读请求先到memstore中查数据,查不到就到blockcache中查,再查不到就会到磁盘上读,并把读的结果放入blockcache。由于blockcache是一个LRU,因此blockcache达到上限(heapsize * hfile.block.cache.size)后,会启动淘汰机制,淘汰掉最 ...
Shell条件判断语句if中-a至-z的意思
- 博客分类:
- Linux
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 " ...
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
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
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)
JAVA多线程使用研究
- 博客分类:
- J2EE
Part One: 一个线程处理
if (CollectionUtils.isNotEmpty(cqcAttachmentDataList)) {
long startTimes = System.currentTimeMillis();
final CountDownLatch latchOnlyOne = new CountDownLatch(1);
new Thread(new CqcAttachmentDataWorker(latchOnlyOne,"车前程附件数据处理-线程-only", cqcAttachmentDataList)).start();
...
MySQL 的性能-SQL 执行分析(转)
- 博客分类:
- My SQL
后端开发必然会接触到数据库,数据层的优劣会影响整个服务的响应时间。所以,数据库的优化技巧是必须掌握的,下面就是我在学习过程中整理的,备忘。
下面为上篇内容,分为以下部分:
一、SQL 执行时间分析
二、SQL 执行情况分析
一、SQL 执行时间分析
通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题。
1.通过 show processlist 来查看系统的执行情况
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+----------- ...
MySQL关联表更新数据SQL脚本
- 博客分类:
- My SQL
假定我们有两张表,一张表为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索引失效的情况总结
- 博客分类:
- My SQL
MySQL索引失效的几种情况总结(转载)
1.索引不存储null值
更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本
没Null值,不能利用到索引,只能全表扫描。
为什么索引列不能存Null值?
将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊性就在于参与的运算大多取值为null。
这样的话,null值实际上是不能参与进建索引的过程。也就是说,null值不会像其他取值一样出现在索引树的叶子节点上。
2.不适合键值较少的列(重复 ...