在Hadoop中,常用的TextInputFormat是以换行符作为Record分隔符的。
在实际应用中,我们经常会出现一条Record中包含多行的情况,例如:
<doc>
....
</doc>
此时,需要拓展TextInputFormat以完成这个功能。
先来看一下原始实现:
public class TextInputFormat extends FileInputFormat<LongWritable, Text> {[......]
在Hadoop中,常用的TextInputFormat是以换行符作为Record分隔符的。
在实际应用中,我们经常会出现一条Record中包含多行的情况,例如:
<doc>
....
</doc>
此时,需要拓展TextInputFormat以完成这个功能。
先来看一下原始实现:
public class TextInputFormat extends FileInputFormat<LongWritable, Text> {[......]
前言
Hive中,默认使用的是TextInputFormat,一行表示一条记录。在每条记录(一行中),默认使用^A分割各个字段。
在有些时候,我们往往面对多行,结构化的文档,并需要将其导入Hive处理,此时,就需要自定义InputFormat、OutputFormat,以及SerDe了。
首先来理清这三者之间的关系,我们直接引用Hive官方说法:
SerDe is a short name for "Serializer and Deserializer."
Hive us[......]