hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Namit Jain (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HIVE-372) Nested UDFs cause _very_ high memory usage when processing query
Date Mon, 13 Apr 2009 21:58:14 GMT

    [ https://issues.apache.org/jira/browse/HIVE-372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698566#action_12698566
] 

Namit Jain commented on HIVE-372:
---------------------------------

While committing, I got the following errors:

    [junit] diff -a -I \(file:\)\|\(/tmp/.*\) /data/users/njain/hive_br3_commit/hive_br3_commit/build/ql/test/logs/clientnegative/invalid_create_tbl2.q.out
/data/users/njain/hive_br3_commit/hive_br3_commit/ql/src/test/results/clientnegative/invalid_create_tbl2.q.out
    [junit] 1c1
    [junit] < FAILED: Parse Error: line 1:0 cannot recognize input 'create' in ddl statement
    [junit] ---
    [junit] > FAILED: Parse Error: line 1:7 mismatched input 'tabl' expecting TEMPORARY
in create function statement
    [junit] Exception: Client execution results failed with error code = 1
    [junit] junit.framework.AssertionFailedError: Client execution results failed with error
code = 1
    [junit] 	at junit.framework.Assert.fail(Assert.java:47)
    [junit] 	at org.apache.hadoop.hive.cli.TestNegativeCliDriver.testNegativeCliDriver_invalid_create_tbl2(TestNegativeCliDriver.java:591)
    [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [junit] 	at java.lang.reflect.Method.invoke(Method.java:597)
    [junit] 	at junit.framework.TestCase.runTest(TestCase.java:154)
    [junit] 	at junit.framework.TestCase.runBare(TestCase.java:127)
    [junit] 	at junit.framework.TestResult$1.protect(TestResult.java:106)
    [junit] 	at junit.framework.TestResult.runProtected(TestResult.java:124)
    [junit] 	at junit.framework.TestResult.run(TestResult.java:109)
    [junit] 	at junit.framework.TestCase.run(TestCase.java:118)
    [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567)
    [junit] Begin query: invalid_select_expression.q
    [junit] Hive history file=/data/users/njain/hive_br3_commit/hive_br3_commit/ql/../build/ql/tmp/hive_job_log_njain_200904131444_1922313556.txt
    [junit] diff -a -I \(file:\)\|\(/tmp/.*\) /data/users/njain/hive_br3_commit/hive_br3_commit/build/ql/test/logs/clientnegative/invalid_select_expression.q.out
/data/users/njain/hive_br3_commit/hive_br3_commit/ql/src/test/results/clientnegative/invalid_select_expression.q.out
    [junit] 1c1
    [junit] < FAILED: Parse Error: line 1:32 cannot recognize input '.' in expression specification
    [junit] ---
    [junit] > FAILED: Parse Error: line 1:32 cannot recognize input '.' in table column
identifier
    [junit] Exception: Client execution results failed with error code = 1
    [junit] junit.framework.AssertionFailedError: Client execution results failed with error
code = 1
    [junit] 	at junit.framework.Assert.fail(Assert.java:47)
    [junit] 	at org.apache.hadoop.hive.cli.TestNegativeCliDriver.testNegativeCliDriver_invalid_select_expression(TestNegativeCliDriver.java:616)
    [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [junit] 	at java.lang.reflect.Method.invoke(Method.java:597)
    [junit] 	at junit.framework.TestCase.runTest(TestCase.java:154)
    [junit] 	at junit.framework.TestCase.runBare(TestCase.java:127)
    [junit] 	at junit.framework.TestResult$1.protect(TestResult.java:106)
    [junit] 	at junit.framework.TestResult.runProtected(TestResult.java:124)
    [junit] 	at junit.framework.TestResult.run(TestResult.java:109)
    [junit] 	at junit.framework.TestCase.run(TestCase.java:118)
    [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567)
    [junit] Begin query: invalid_tbl_name.q
    [junit] Hive history file=/data/users/njain/hive_br3_commit/hive_br3_commit/ql/../build/ql/tmp/hive_job_log_njain_200904131444_1797516854.txt
    [junit] diff -a -I \(file:\)\|\(/tmp/.*\) /data/users/njain/hive_br3_commit/hive_br3_commit/build/ql/test/logs/clientnegative/invalid_tbl_name.q.out
/data/users/njain/hive_br3_commit/hive_br3_commit/ql/src/test/results/clientnegative/invalid_tbl_name.q.out
    [junit] 1c1
    [junit] < FAILED: Parse Error: line 1:20 mismatched input '-' expecting EOF
    [junit] ---
    [junit] > FAILED: Parse Error: line 1:20 mismatched input '-' expecting EOF in statement

can you fix and regenerate the patch ?



> Nested UDFs cause _very_ high memory usage when processing query
> ----------------------------------------------------------------
>
>                 Key: HIVE-372
>                 URL: https://issues.apache.org/jira/browse/HIVE-372
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>         Environment: Fedora Linux, 10x Amazon EC2 (Large Instance w/ 8GB Ram)
>            Reporter: Steve Corona
>         Attachments: HIVE-372.1.patch, HIVE-372.2.patch
>
>
> When nesting UDFs, the Hive Query processor takes a large amount of time+memory to process
the query. For example, I ran something along the lines of:
> select trim( trim( trim(trim( trim( trim( trim( trim( trim(column))))))))) from test_table;
> This query needs 10GB+ of memory to process before it'll launch the job. The amount of
memory increases exponentially with each nested UDF.
> Obviously, I am using trim() in this case as a simple example that causes the same problem
to occur. In my actual use-case I had a bunch of nested regexp_replaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message