gpt4 book ai didi

hadoop - 创建Hive表以处理固定长度的文件

转载 作者:行者123 更新时间:2023-12-02 21:49:24 26 4
gpt4 key购买 nike

我在HDFS中有一个固定长度的文件,在上面必须使用正则表达式创建外部表。
我的文件是这样的:

12piyush34stack10
13pankaj21abcde41

我希望它将其转换为类似表的形式:
key_column   Value_column
---------- -----------------
1234stack 12piyush34stack10
1321stack 13pankaj21abcde41

我什至尝试通过使用插入的substr,但我无法指向key_columns。
请协助解决这个问题。

最佳答案

我不知道您为什么使用正则表达式外部表,但是这种方式无法锻炼,因此还需要使用另一个子字符串操作。
如果是我,我将制作一个正则表达式Serde表,然后创建两列(key_column,Value_column),然后仅指定serde选项,如下所示:

SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'

WITH SERDEPROPERTIES (

 "input.regex" ="(\d\d)\w{6}(\d\d).*",

"output.format.string" = "%1$s%2$sstack %0$s"

)


输出选项将按顺序将空格分隔的数据写入相应的列。
尚未测试它,请注意反斜杠可能无法在Java中正确解释。

关于hadoop - 创建Hive表以处理固定长度的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22328904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com