2013-08-23 26 views
1

我仍然得到空的價值觀......蜂巢的regexserde:什麼是錯的我正則表達式,我不知道是什麼

的正則表達式模式字符串空間字符串空間日期空間串,直到結束線

([^ ]*)\s([^ ]*)\s(\[[0-9][0-9]\/[A-Za-z]{3}\/[0-9]{4}:[0-9]{2}:[0-9]{2}:[0-9]{2} \+0000\])\s(.*$) 

線的類型,假定匹配(隨機生成的線)

filesystem af68ccf949ebc07c250b37a10fa40912 [20/Aug/2013:19:00:11 +0000] fbec6e8ec3fa6687426f8437cdd8593f346081ca1978057a 

這似乎是正確的上http://rubular.com/

創建表:

CREATE TABLE example1 ( 
user STRING, 
bucket STRING, 
date STRING, 
rest STRING) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' 
WITH SERDEPROPERTIES (
"input.regex" = "([^ ]*)\s([^ ]*)\s(\[[0-9][0-9]\/[A-Za-z]{3}\/[0-9]{4}:[0-9]{2}:[0-9]{2}:[0-9]{2} \+0000\])\s(.*$)", 
"output.format.string" = "%1$s %2$s %3$s %4$s" 
) 
STORED AS TEXTFILE 

回答

0

仍然不知道爲什麼我的正則表達式沒有工作,但這個似乎工作

([^ ]*) ([^ ]*) ([^ ]* \+[^ ]*)[^ ]* (.*) 
相關問題