[ https://issues.apache.org/jira/browse/HIVE-7218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14036758#comment-14036758 ]
Navis commented on HIVE-7218: ----------------------------- If we cannot change the limit of total size of environment variables, we can walk-around this problem by specifying only needed ones for the script (I don't think 'mapred.input.dir' could be useful information in the script). For example, {noformat} hive>set X=someX; hive>set Y=someY; hive>SELECT TRANSFORM('echo ${X:-x} ${Y:-y} ${Z:-z}') USING 'sh' AS x,y,z WITH ('Z'='someZ', 'Y') ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' FROM src tablesample (1 rows); x someY someZ {noformat} In the above query, by specifying WITH ('Z'='someZ', 'Y'), script accepts only two environment variables 'Z=someZ' (which is specified explicitly) and 'Y=someY' (which is from HiveConf). > java.io.IOException: error=7, Argument list too long > ---------------------------------------------------- > > Key: HIVE-7218 > URL: https://issues.apache.org/jira/browse/HIVE-7218 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.7.0, 0.7.1, 0.8.0, 0.8.1, 0.9.0, 0.10.0, 0.11.0, > 0.12.0, 0.13.0, 0.13.1 > Reporter: Ryan Harris > Assignee: Navis > Attachments: HIVE-7218.1.patch.txt > > > HIVE-2372 was originally created in response to this error message, however > that patch was merely a work-around to handle the condition where > mapred.input.dir is too long. > Any other environment variable that is "too long" for the host OS will still > cause a job failure. > In my case: > While creating a table with a large number of columns, a large hive variable > is temporarily created using SET, the variable contains the columns and > column descriptions. > A CREATE TABLE statement then successfully uses that large variable. > After successfully creating the table the hive script attempts to load data > into the table using a TRANSFORM script, triggering the error: > java.io.IOException: error=7, Argument list too long > Since the variable is no longer used after the table is created, the hive > script was updated to SET the large variable to empty. > After setting the variable empty the second statement in the hive script ran > fine. > Hive should more gracefully notify the user as to the cause of the problem > and offer a configurable approach for automatically handling the condition. > In this case, originally identifying the cause of the issue was somewhat > confusing since the portion of the hive script that referenced the long > variable ran successfully, and the portion of the script that failed didn't > even use/reference the variable that was causing that portion to fail. > Since HIVE-2372 has already been "Fixed" this JIRA re-opens the issue since > the original issue was worked around, not resolved... -- This message was sent by Atlassian JIRA (v6.2#6252)