Hive
licjd
技术可以让人走的更远,思想可以让人走的更高
展开
-
Hive 调整 Map 的个数
摘录自《Hive 性能调优实战》在调优时不希望生成太多的 Map,而把计算任务的等待时间都耗费在 Map 的启动上;或者不希望生成太多的 Map 对某个文件进行操作,以免引起资源的争用。这时候就需要对 Map 进行控制。在 Hive 中配置“set mapred.map.tasks=task 数量”无法控制 Map 的任务数,调节 Map 任务数需要一套算法,该算法也和 InputFormat 有密切的关系,具体如下:在默认情况下 Map 的个数 defaultNum = 目标文件或数据的总大小 .原创 2020-06-13 17:53:13 · 2343 阅读 · 0 评论 -
Hive 分区和桶
摘录自《Hadoop 权威指南》Hive 把表组织成分区(partition)。这是一个根据分区列(partition column,如日期)的值对表进行粗略划分的机制。使用分区可以加快数据分片(slice)的查询速度。表或分区可以进一步分为桶(bucket)。它会为数据提供额外的结构以获得更高效的查询处理。例如,通过根据用户 ID 来划分桶,可以在所有用户集合的随机样本上快速计算基于用户的查询。1. 分区以分区的常用情况为例。考虑日志文件,其中每条记录包含一个时间戳。如果根据日期来对它进行分区.原创 2020-05-30 14:15:29 · 244 阅读 · 0 评论 -
Hive 存储格式
摘录自《Hadoop 权威指南》Hive 从两个维度对表的存储进行管理,分别是行格式(row format)和文件格式(file format)。行格式指行和一行中的字段如何存储。按照 Hive 的术语,行格式的定义由 SerDe 定义。SerDe 是“序列化和反序列化工具”(Serializer-Deserialize)的合成词。当作为反序列化工具进行使用时,也就是查询表时,SerDe 将把文件中字节形式的数据行反序列化为 Hive 内部操作数据行时使用的对象形式。使用序列化工具时,也就是执行 I.原创 2020-05-27 22:36:15 · 211 阅读 · 0 评论 -
Hive: 内部表与外部表的区别探索
文章目录一、准备工作1、文件内容2、建表3、查看 hdfs二、文件不在HDFS上1、load data2、查看文件3、删除表,查看文件是否还存在4、结论三、文件在HDFS上0、复制数据1、load data1.1 内部表1.2 外部表2、删除表,查看文件是否还存在3、结论四、最终结论一、准备工作1、文件内容文件不在HDFS上:/home/zhangsan/test.txt文件在HDFS上...原创 2020-04-29 22:52:24 · 169 阅读 · 0 评论 -
Hive - 分区表的探索
以下内容参考自《Hive编程指南》1、简单理解简单理解,分区就是不同的目录结构,表是最外层的目录,表里面的分区对应表目录里的各个子目录,例如:....../employees/country=CA/state=AB.../employees/country=CA/state=BC....../employees/country=US/state=AL.../employees/...原创 2019-11-03 16:06:32 · 149 阅读 · 0 评论 -
Hive 用户自定义函数 描述信息的生成
参考自《Hive编程指南》 —— 人民邮电出版社@Description(name = "udf_endecode", value = "DES encryption and decryption, use the keyword EXTENDED for specific use", extended = "Example: \n" + "> sele...原创 2019-03-26 15:36:57 · 397 阅读 · 0 评论 -
在Hive中使用过的函数记录(百分比、截取字符串、分组TOP N、日期转换、日期是第几周)
1、显示百分比形式-- 保留小数点后四位 * 100,连接%concat(round(x/y, 4) * 100, '%')例: 2、取出日期年月-- 截取字符串substr(ord_dt, 1, 6)例: 3、分组后,从每个组内取出各自的TOP Nrow_number() OVER (partition by COL1 order ...原创 2019-04-10 11:44:01 · 19390 阅读 · 0 评论