我想建这样一张表
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
谢谢!!!