我在hdfs中有一个固定长度的文件,在这个文件之上我必须使用regex创建外部表。我的文件是这样的:
12piyush34stack10
13pankaj21abcde41
我想把它转换成一个表,比如:
key_column Value_column
---------- -----------------
1234stack 12piyush34stack10
1321stack 13pankaj21abcde41
我甚至尝试了使用insert的substr,但是我无法指向键列。请帮助解决这个问题。
1条答案
按热度按时间nfs0ujit1#
我不知道你为什么用regexp外部表,但方法不能锻炼,所以还需要使用另一个子串操作。
如果是我,我将创建一个regexp serde表,然后创建两列(key\u column、value\u column),只需指定serde选项,如下所示:
serde'org.apache.hadoop.hive.serde2.regexserde'
使用serdeproperty(
)
output选项将按顺序将空格分隔的数据写入相应的列。
还没有测试它,请注意反斜杠在java中可能没有正确的解释。