Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here. Want to know more about what has changed? Check out the Community News blog.

Ignoring a morphline error

SOLVED Go to solution

Ignoring a morphline error

Explorer

Hi...

 

Is there any way of ignoring an error in a morphline, which consists of a series of commands, without modiying the offending command to be more tolerant?

 

For example, if one of the commands is Grok and a large file is processed and somewhere in the file a record does not match the regular expression, the execution of the morphline stops. Is there any configuration option to allow it to continue?

 

Thanks,

 

PNS

 

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Ingnoring a morphline error

Expert Contributor
2 REPLIES 2

Re: Ingnoring a morphline error

Expert Contributor

Re: Ignoring a morphline error

Explorer

Thanks for the prompt answer!

 

Adding to the Morphlines Reference Guide, the tryRules block has to be placed inside the commands block, e.g.

 

morphlines : [
    {
        id : morphline1
        importCommands : ["org.kitesdk.**", "org.apache.solr.**"]

        commands : [
            {
                readLine {
                    charset : UTF-8
                }
            }

            {
                tryRules {
                    catchExceptions : false
                    throwExceptionIfAllRulesFailed : true

                    rules : [

                    # next rule of tryRules cmd:
                    {
                        commands : [
                          { ... }
                          { ... }
                        ]
                    }

                    # next rule of tryRules cmd:
                    {
                        commands : [
                          { ... }
                          { ... }
                        ]
                    }
                }
            }
         ]
     }