Your Regex gives different results. I want the last part to capture the rest of the string. I also tried this
CREATE EXTERNAL TABLE syslog ( month STRING, day STRING, time STRING, source STRING, process STRING, pid STRING, uname STRING, message STRING) COMMENT 'This is the syslog sample table' ROW FORMAT SERDE "org.apache.hadoop.hive.serde2.RegexSerDe" WITH SERDEPROPERTIES ( "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ \[]*)\[([^ ]*)\]: \(([^ ]*)\) ([\S|\s]*)" ) STORED AS TEXTFILE LOCATION 'dfs://localhost:8020/data/flumeTest/flume-test-spoolDir'; And got the same result Eran On Thu, Oct 1, 2015 at 3:20 PM Daniel Haviv <daniel.ha...@veracity-group.com> wrote: > Hi, > You didn't escape the ^ character at the end. > Try using this string instead: ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ > \[]*)\[([^ ]*)\]: \(([^ ]*)\) ([\^]*) > > Daniel > > On Thu, Oct 1, 2015 at 3:17 PM, IT CTO <goi....@gmail.com> wrote: > >> Hi, >> I am trying to create a table with Regex SerDe but failing with no good >> reason: >> CREATE EXTERNAL TABLE syslog ( >> month STRING, >> day STRING, >> time STRING, >> source STRING, >> process STRING, >> pid STRING, >> uname STRING, >> message STRING) >> COMMENT 'This is the syslog sample table' >> ROW FORMAT SERDE "org.apache.hadoop.hive.serde2.RegexSerDe" >> WITH SERDEPROPERTIES ( >> "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ \[]*)\[([^ ]*)\]: >> \(([^ ]*)\) ([^]*)" >> ) >> STORED AS TEXTFILE >> LOCATION 'dfs://localhost:8020/data/flumeTest/flume-test-spoolDir'; >> >> The regex iself works on regex tester so I don't understand why I am >> getting: >> >> FAILED: Execution Error, return code 1 from >> org.apache.hadoop.hive.ql.exec.DDLTask. >> java.util.regex.PatternSyntaxException: Unclosed character class near index >> 66 >> ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ []*)[([^ ]*)]: (([^ ]*)) ([^]*) >> >> Any help? >> -- >> Eran | "You don't need eyes to see, you need vision" (Faithless) >> > > -- Eran | "You don't need eyes to see, you need vision" (Faithless)