Hadoop源码分析FileInputFormat、TextInputFormat、LineRecordReader
类关系 FileInputFormat主要功能: 获取splits 概念: goalSize: totalsize/numSplits ; minSize: InputSplit 最小值 配置参数blockSize: block大小 公式: splitSize = max(minSize, mi ...
Read more
重写InputFormat实现Hadoop多目录输出
接着上篇重写InputFormat实现Hadoop多目录输出 重写RecordWriter public class MultiFileRecordWriter extends RecordWriter<Text, NullWritable> { FSDataOutpu ...
Read more
Hive常见的分析函数(概括)
窗口聚合函数聚合函数是将多行数据按照规则聚合为一行,比如count()、sum()、min()、max()、avg() 窗口排序函数窗口排序函数提供了数据的排序信息,比如行号和排名。在一个分组的内部将行号或者排名作为数据的一部分进行返回,最常用的排序函数主要包括: row_number:根据具体的 ...
Read more
Hive分区表添加、修改、删除字段的坑
现象alter table table_name add columns(location_id string) ;alter table table_name change column complete_status complete_status string; 使用alter table ...
Read more
Hive文本中的特殊字符处理
hive处理存储于json字段中的html文本,碰到特殊字符导致数据与字段错位。 \n 换行符,\u000A\r 回车符,\u000D\t tab制表符(移至下一列) ,\u0009 使用函数regexp_replace替换特殊字符 #测试数据etl.origin_message_sms_log. ...
Read more
Hive中Map函数的应用
当一个用户拥有多个标签(私有属性)或一个标签拥有多个用户时,可以使用map来维护复杂的关系。 建表drop table if exists hive_map;CREATE TABLE hive_map(id INT, name MAP < STRING, STRING >)STORED ...
Read more
Yarn在Shuffle阶段内存不足问题(error in shuffle in fetcher)
最近集群中一些任务经常在reduce端跑出Shuffle OOM的错误,具体错误如下: 2016-12-15 08:10:57,726 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : org.apac ...
Read more
Hive中Reduce个数是如何计算的
我们在使用Hive查询数据的时候经常会看到如下的输出: Query ID = iteblog_20160704104520_988f81d4-0b82-4778-af98-43cc1950d357Total jobs = 1Launching Job 1 out of 1Number of redu ...
Read more
map和reduce个数的设定
控制hive任务中的map数 通常情况下,作业会通过input的目录产生一个或者多个map任务。主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size; 命令查看到,该参数不能自定义修改); 举 ...
Read more
小文件问题
小文件产生原因hive 中的小文件肯定是向 hive 表中导入数据时产生,所以先看下向 hive 中导入数据的几种方式 直接向表中插入数据 insert into table A values (1,'zhangsan',88),(2,'lisi',61); 这种方式每次插入时都会产生一个文件, ...
Read more