You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "John Gordon (JIRA)" <ji...@apache.org> on 2013/03/07 09:28:13 UTC

[jira] [Commented] (HIVE-4134) Facing issues while executing commands on hive shell. The system throws following error: only on Windows Cygwin setup

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

John Gordon commented on HIVE-4134:
-----------------------------------

This looks like you have a patch or are missing a patch -- Hive is trying to create a URI path through string concatenation instead of using the APIs in Uri and Path.

The patch on HIVE-3319 has a lot of one-line fixes for these kinds of issues - including this change:

-      String testFileDir = "file://"
-          + conf.get("test.data.files").replace('\\', '/').replace("c:", "");
+      String testFileDir = new Path(conf.get("test.data.files")).toUri().getPath();

Effectively, the fixed line is just using Path.toUri() to initialize the full context needed, then converting back to Path to get a usable serialization.

It could also be the temp path string literal in your hive-site.xml, which doesn't appear to be expressed in the way Cygwin would do it.  If it runs fine under the exact same configuration outside of the Cygwin environment, then this is the case.  You shouldn't need Cygwin to run at all.
                
> Facing issues while executing commands on hive shell. The system throws following error: only on Windows Cygwin setup 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-4134
>                 URL: https://issues.apache.org/jira/browse/HIVE-4134
>             Project: Hive
>          Issue Type: Task
>         Environment: hadop1.1.1 cygwin hive-0.8.1 
>            Reporter: Avinash Singh
>
> When executing this command 
> $  bin/hive -e 'SHOW TABLES'
> WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
> Logging initialized using configuration in jar:file:/C:/cygwin/home/Administrator/hive-0.8.1/lib/hive-common-0.8.1.jar!/hive-log4j.properties
> Hive history file=/tmp/Administrator/hive_job_log_Administrator_201303071139_1504829167.txt
> Patch for HADOOP-7682: Instantiating workaround file system
> FAILED: Hive Internal Error: java.lang.IllegalArgumentException(java.net.URISyntaxException: Relative path in absolute URI: file:C:/cygwin/tmp//Administrator/hive_2013-03-07_11-39-26_427_243610179348269546)
> java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: file:C:/cygwin/tmp//Administrator/hive_2013-03-07_11-39-26_427_243610179348269546
> 	at org.apache.hadoop.fs.Path.initialize(Path.java:148)
> 	at org.apache.hadoop.fs.Path.<init>(Path.java:132)
> 	at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:160)
> 	at org.apache.hadoop.hive.ql.Context.getLocalScratchDir(Context.java:187)
> 	at org.apache.hadoop.hive.ql.Context.getLocalTmpFileURI(Context.java:303)
> 	at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeInternal(DDLSemanticAnalyzer.java:227)
> 	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:430)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337)
> 	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:889)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255)
> 	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:212)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:338)
> 	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:637)
> 	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
> Caused by: java.net.URISyntaxException: Relative path in absolute URI: file:C:/cygwin/tmp//Administrator/hive_2013-03-07_11-39-26_427_243610179348269546
> 	at java.net.URI.checkPath(URI.java:1788)
> 	at java.net.URI.<init>(URI.java:734)
> 	at org.apache.hadoop.fs.Path.initialize(Path.java:145)
> 	... 20 more
> tried using the bug fix as describe in https://issues.apache.org/jira/browse/HIVE-2388 but his also not worked 
>   bin/start.sh 
> WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
> Exception in thread "main" java.lang.RuntimeException: Failed to initialize default Hive configuration variables!
> 	at org.apache.hadoop.hive.conf.HiveConf.getConfVarURL(HiveConf.java:651)
> 	at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:815)
> 	at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:776)
> 	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:576)
> 	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
> Caused by: java.io.IOException: The system cannot find the path specified
> 	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
> 	at java.io.File.checkAndCreate(File.java:1705)
> 	at java.io.File.createTempFile0(File.java:1726)
> 	at java.io.File.createTempFile(File.java:1838)
> 	at org.apache.hadoop.hive.conf.HiveConf.getConfVarURL(HiveConf.java:640)
> 	... 9 more  
> any ideas how it will work on cygwin windows 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira