hive使用RegexSerDe正则表达式建表的问题,求大神支持!

我想建这样一张表

CREATE external TABLE abc  ( 
 abc01 string ,
 abc02 string ,
 abc03 string ,
 abc04 string ,
 abc05 string ,
 abc06 string ,
 abc07 string ,
 abc08 string ,
 abc09 string ,
 abc10 string ,
 abc11 string ,
 abc12 string ,
 abc13 string ,
 abc14 string ,
 abc15 string ,
 abc16 string ,
 abc17 string ,
 abc18 string ,
 abc19 string ,
 abc20 string ,
 abc21 string ,
 abc22 string ,
 abc23 string ,
 abc24 string ,
 abc25 string ,
 abc26 string ,
 abc27 string ,
 abc28 string ,
 abc29 string ,
 abc30 string ,
 abc31 string ,
 abc32 string ,
 FLNO   string  
 )
ROW FORMAT  
SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'  
WITH SERDEPROPERTIES  
( 'input.regex' = '(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!(.*?)\\|\\!', 
'input.regex.case.insensitive' = 'false',
'output.format.string' = '%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s %10$s %11$s %12$s %13$s %14$s %15$s %16$s %17$s %18$s %19$s %20$s %21$s %22$s %23$s %24$s %25$s %26$s %27$s %28$s %29$s %30$s %31$s %32$s %33$s',
'serialization.encoding'='GBK')
STORED AS TEXTFILE
location '/data/abc/';

实际上就是用‘|!’做分隔符,有没有更简单一点的写法,我手头还有200+字段的表来着T_T
谢谢!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值