Hive错误:FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 stringTypeInfo

时间:2017-11-25 15:56:26

标签: hive hiveql

美好的一天,我打算创建一个表,但是出现了错误。

我的代码:

CREATE TABLE weblogs(
   host STRING,
   identity STRING,
   customer STRING,
   time STRING,
   request STRING,
   status STRING,
   size STRING,
   referer STRING,
   agent STRING)
   ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
   WITH SERDEPROPERTIES (
 "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\".*\") ([^ \"]*|\".*\"))?",
 "output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s"
)
STORED AS TEXTFILE;

我的错误:

  

失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 stringTypeInfo

我正在使用apache-hive-1.2.2-bin,derby模式。 enter image description here

请帮帮我。 谢谢。

1 个答案:

答案 0 :(得分:0)

这可能是因为你真的想要一个外部表而忘记指定'外部'。请尝试以下方法:

CREATE EXTERNAL TABLE网络日志(    主机STRING,    身份STRING,    客户STRING,    时间STRING,    请求STRING,    状态STRING,    大小STRING,    参考STRING,    代理人STRING)    行格式SERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'    与SERDEPROPERTIES(  “input.regex”=“([^] )([^] )([^] )( - | \ [[^ \]] \])( [^ \“] | \”[^ \“] \”)( - | [0-9] )( - | [0-9] )(? :([^ \“] | \”。 \“)([^ \”] | \“。 \”))?“,  “output.format.string”=“%1 $ s%2 $ s%3 $ s%4 $ s%5 $ s%6 $ s%7 $ s%8 $ s%9 $ s” ) 存储为文本文件;