2013-06-30 4 views
0

Я иду через установку Hadoop/Pig/Thrift/Hive. У меня все работает до сих пор, однако я столкнулся с проблемой при создании таблицы, содержащей Serde. На самом деле это копия/вставка из официальной документации от Hive.Учебник улья не работает?

Может ли кто-нибудь сказать мне, что в этом плохого?

 
add jar /opt/hadoop/hive-0.11.0-bin/lib/hive-contrib-0.11.0.jar; 

CREATE TABLE apachelog (
    host STRING, 
    identity STRING, 
    user 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; 

ошибка, которую я столкнуться при выполнении этого через это:

 
[email protected]:~# hive -f queries/web_logs.hive 

Logging initialized using configuration in jar:file:/opt/hadoop/hive-0.11.0-bin/lib/hive-common-0.11.0.jar!/hive-log4j.properties 
Hive history file=/tmp/hadoop/[email protected]_201306301457_1933691814.txt 
Added /opt/hadoop/hive-0.11.0-bin/lib/hive-contrib-0.11.0.jar to class path 
Added resource: /opt/hadoop/hive-0.11.0-bin/lib/hive-contrib-0.11.0.jar 
FAILED: Error in metadata: java.util.regex.PatternSyntaxException: Unclosed character class near index 104 
([^]*) ([^]*) ([^]*) (-|\[^\]*\]) ([^ "]*|"[^"]*") (-|[0-9]*) (-|[0-9]*)(?: ([^ "]*|".*") ([^ "]*|".*"))? 
                             ^
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 

ответ

1

Похоже, вам не хватает места в своем регулярном выражении:

"input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) 
([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\"[^\"]*\") 
([^ \"]*|\"[^\"]*\"))?" 

Пожалуйста, убедитесь, что ваш регулярное выражение правильно.

+0

oh jeez .. Я не уверен, как я этого не заметил! Это, однако, копия/вставка из официальной Hive Wiki. В любом случае, спасибо за помощь !!! – Daedalus8

+0

Бывает..Вы можете :) – Tariq

Смежные вопросы