1)hive加载数据
hive加载本地数据和和hdfs数据区别
加载外部表可以为本地文件,加载内部表,要把数据加载到hdfs上
2)hive中索引
索引
deferred 延期的
compact 紧压的
3)hive中数据格式
hive可以自定义文件格式。textfile,sequencefile
数据格式:
avro file orc file
ORC File,它的全名是Optimized Row Columnar(柱行的 (ORC) file,其实就是对RCFile做了一些优化。据官方文档介绍,这种文件格式可以提供一种高效的方法来存储Hive数据。
4)hive查看编译的sql语句
hiveql与sql区别
explain select * from tb1 where num = 333
5)hive中求分组topk
hive 中求分组中的topk
select calling_nbr, called_nbr,count,
ROW_NUMBER() over (PARITITION by calling_b=nbr order by count desc) rn from test where rm < 100;
其中PARTITION BY calling_nbr 可选,若加上则表示窗口统计,
否则则是全局统计。
6) udf udaf udtf
udf
collection function size(Map K,V
type conversion funcions cast(‘1’ as BIGINT)
Data function year(string date)year(“1970-01-01 00:00:00”) = 1970, year(“1970-01-01”) = 1970.
String function trim(string A) trim(’ foobar ‘) results in ‘foobar’
aggregate function(udaf)
count(*) ,sum(col),avg(col)
table -generating function (udtf)
将一个输入行,转换成多行
7)hive中事务
ACID代表数据库事务中的四个特性,
原子性,任何一个数据库操作要么被完整执行,要么完全不被执行、
一致性,一旦应用程序执行了一个操作,操作的结果对于每一个之后的造作都是课件的
隔离性,一个用户的操作不会对其他用户用户产生意料之外的副作用。
持久性,一旦一个操作被完成、这些操作也将被记录下来即时机器或系统
出现故障,也要保证这些记录的完整性。
从hive0.14开始,insert update delete支持
需要配置hive-site.xml
添加hive元数据,初始化三张表
8)hive中确定map数目与reduce数目
hive中设置map数目和reduce数目,
1、map数目,通过设置一个map任务执行文件的大小;直接设置map任务数;对文件大,和任务逻辑复杂的任务,可以增加map数,提高执行效率。
2、reduce数目,hive.exec.reducers.bytes.per.reducer(每个reduce任务处理的数据量,默认为1000^3=1G)
hive.exec.reducers.max(每个任务最大的reduce数,默认为999)
计算reducer数的公式很简单N=min(参数2,总输入数据量/参数1)