我正在尝试从hive.log创建一个hive表(来自/tmp//hive.log)。
日志中的示例行:
2015-06-14 06:01:40,206 INFO [main]:ql.Driver(Driver.java:compile(433)) - 语义分析已完成
这里是创建查询和正则表达式:
CREATE EXTERNAL TABLE HIVELOG_TEMP(DATE STRING,TIME STRING,LOG_LEVEL STRING,FILE STRING,FUNC STRING,SUB_FUNC STRING,LOG_MSG STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES(
'input.regex' = '([^\ ]*) ([^\ ]*) ([^\ ]*) \[([^\ ]*)\]: ([^\ ]*) \(([^\ ]*)\(.*\) - (.*)\n'
'output.format.string' = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s" )
LOCATION '/user/hive/warehouse/hive.log';
我收到以下错误:
FAILED:ParseException第5行:0输入不匹配'" output.format.string''期待)附近'([^ \] )([^ \] )([^ \] )[([^ \] ) ] :( [^ \] )(([^ \] )(。) - (。)\ n''在表格属性中
也尝试了其他选项,但总是得到同样的错误。无法弄清楚问题所在。有什么帮助吗?