regex pour journal d'accès dans la ruche serde

Je veux extraire (ip, requestUrl, timeStamp) à partir des journaux d'accès de charge à la ruche de la base de données. Une ligne de log d'accès est comme suit.


66.249.68.6 - - [14/Jan/2012:06:25:03 -0800] "GET /example.com HTTP/1.1" 200 708 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

J'ai essayé avec la suite et de nombreuses variations de regex, sans succès. (Le chargement de la table est avec toutes les valeurs NULL indiquant la regex ne correspond pas à l'entrée).


CREATE TABLE access_log (
  remote_ip STRING,
  request_date STRING,
  method STRING,
  request STRING,
  protocol STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES  (
"input.regex" = "([^ ]) . . [([^]]+)] \"([^ ]) ([^ ]) ([^ \"])\" *",
"output.format.string" = "%1$s %2$s %3$s %4$s %5$s"
)
STORED AS TEXTFILE;

Je ne suis pas très expérimenté, avec des regex. Quelqu'un peut-il m'aider?