1

私はまだ値に対してnullを取得しています...

パターン文字列の正規表現 スペース文字列 スペース日付 スペース文字列 行末まで

([^ ]*)\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
4

1 に答える 1

1

私の正規表現が機能しなかった理由はまだわかりませんが、これは機能しているようです

([^ ]*) ([^ ]*) ([^ ]* \+[^ ]*)[^ ]* (.*)
于 2013-08-23T18:31:15.423 に答える