IDEA效率提升

1.插件

1.GsonFormat

根据json自动生成对象

GsonFormat

2.AceJump

使用键盘取代鼠标

3.Key promoter

当你点击鼠标一个功能的时候,可以提示你这个功能快捷键是什么 ,多次使用且没有快捷键的功能会提示创建快捷键

4.Stackoverflow

程序在console抛出异常时,直接右键就可以自动查找Stackoverflow

Read More

MIUI9去广告.md

MIUI的广告大部分可以通过系统应用的设置去关掉,但是很多应用的首屏广告一直没法关闭,甚至还丧心病狂的达到了5秒 :angry: !!!今天偶然看到一个可以去这类广告的方法:用文件管理器删掉SD卡目录下的miad文件夹,然后随便拷贝一个文件命名为miad就可以了。大部分常见应用都加入了小米广告联盟,所以这种方法很有效!

Read More

Hive应用(4.1)调优

1.limit优化

limit语句默认情况下是在查询所有结果后再返回部分结果,这样会造成资源浪费,可以通过参数控制这一行为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- 使用抽样数据代替完整扫描所有数据 -->
<property>
<name>hive.limit.optimize.enable</name>
<value>true</value>
</property>

<!-- 抽样最大数量 -->
<property>
<name>hive.limit.row.max.size</name>
<value>100000</value>
</property>

<!-- 抽样最大文件数量 -->
<property>
<name>hive.limit.optimize.limit.file</name>
<value>10</value>
</property>

limit优化也会导致部分数据可能永远无法被处理

2.JOIN优化

将大表放到JOIN的右边

3.本地模式

数据量较小时,任务执行时间甚至会小于任务触发的时间,使用本地模式进行单机处理可以有效提升效率

Read More

Hive应用(5.1)文件格式及压缩

对于I/O密集型的job来说,使用压缩可以有效的提高IO和网络的吞吐量,对于CPU密集型的job则有可能会降低性能。

1. 压缩编码选择

可以使用如下命令查看当前hive中安装的压缩编解码器

1
2
3
set io.compression.codecs

io.compression.codecs=org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.DeflateCodec,org.apache.hadoop.io.compress.SnappyCodec,org.apache.hadoop.io.compress.Lz4Codec
编码 压缩后大小 压缩速度 是否可分割
GzipCodec
BZip2Codec
DeflateCodec(default)
SnappyCodec
Lz4Codec

2.中间压缩

开启中间压缩可以减少mapper和reducer之间传输的数据量,中间压缩优先选择速度快、资源消耗低的方式

Read More

Hive应用(2.1)DDL

HiveQL时Hive的查询语言,语法和Mysql有很多相似之处

1.数据库

1.1 查看所有数据库

Hive中默认有一个default数据库,使用如下命令查看hive中的数据库:

1
SHOW (DATABASES|SCHEMAS) [LIKE 'identifier_with_wildcards'];

1.2创建数据库

创建一个新的数据库:

1
2
3
4
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path] --自定义数据库文件位置
[WITH DBPROPERTIES (property_name=property_value, ...)];

Read More