Home Forums Hive / HCatalog Help with Regular Expression

This topic contains 1 reply, has 2 voices, and was last updated by  Carter Shanklin 1 year, 1 month ago.

  • Creator
    Topic
  • #43680

    Paulie Brammer
    Participant

    I am trying to import some weblog data into hive table. I have not worked with regular expression. Can some one please point me to a good tutorial on regular expression ?

    I have seen a example like

    CREATE EXTERNAL TABLE logs_20120101 (
    host STRING,
    identity STRING,
    user STRING,
    time STRING,
    request STRING,
    status STRING,
    size 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”
    )
    STORED AS TEXTFILE LOCATION ‘/data/logs/20120101/';

    The sample weblog I have is

    “6466.6668.666868” “US” “Buy” “Movie” “Enter the Dragon”
    “6688.6668.779779” “CA” “Rent” “Movie” “Matrix”

    The DDL I will be creating for the Hive table is

    CREATE EXTERNAL TABLE logs_20120101 (
    host STRING,
    country STRING,
    action STRING,
    category STRING,
    title 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”
    )

    I want some help in writing the input regular expression

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.

  • Author
    Replies
  • #43704

    Carter Shanklin
    Participant

    Paulie, first thing to note is the RegexSerDe uses Java style regexes underneath the covers, there are many different styles of RegEx so it’s important to know which one you’re working with.

    This tutorial is pretty good:

    http://www.vogella.com/articles/JavaRegularExpressions/article.html

    Collapse
Viewing 1 replies (of 1 total)