插入带有动态列的配置单元

tzcvj98z  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(234)

我接收列是动态的文件。文件1可以是

column1 column2 column3 column4 column5 column6 column7

文件2可以是

column1 column2 column9 column10    column11    column12    column13

文件3可以是

column1 column2 column3 column10    column11

如何将配置单元表修改为将随文件一起接收的列。

k5hmc34c

k5hmc34c1#

这将非常混乱,但如果没有任何显式分隔符,最好的方法就是定义一个regexserde并捕获每一个可能的列。
缺少的列基本上是一个可选的捕获组 ()? 另一种选择是让spark根据标题行推断模式和缺少的列(如果有的话)
一旦在原始数据上获得一个文本表,就应该将其转换为适当的列数据格式。

ljo96ir5

ljo96ir52#

hive希望结构是固定的,与任何rdbms保持一致。
一个选项是,您可能希望包含所有文件中所需的完整列集(如果预先知道的话),并且只填充接收数据的列,而将其他列留空?

相关问题