2

Ok so I'm trying to execute SHOW DATABASES on hive, but then when I do it, it returns this error

Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D

I've checked around in my XML to see what's going one, but nothing I change fixes this error.

Here's the relevant parts of the XML:

   <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive-${user.name}</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/${system:user.name}</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/${hive.session.id}_resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>
  <property>
    <name>hive.scratch.dir.permission</name>
    <value>733</value>
    <description>The permission for the user specific scratch directories that get created.</description>
  </property>


 <property>
    <name>hive.querylog.location</name>
    <value>/tmp/${system:user.name}</value>
    <description>Location of Hive run time structured log file</description>
  </property>

Other than that, I can't think of any other property causing those errors, but then again I'm completely new this. I still haven't figured out a lot of things, for example how to connect my windows program in my windows VM to hive in my linux VM.

Anyway, if I can get any help I'd appreciate it.

1 Answer 1

3

What is ${system:user.name}? Why not use ${user.name} for hive.exec.local.scratchdir and hive.querylog.location. It seems like ${system:user.name} is not expanded.

Sign up to request clarification or add additional context in comments.

3 Comments

I have no idea what that is either. I just followed the instructions to copy the hive-default.xml.template to my hive-site.xml and that was that. I've been looking for hours to understand how Hadoop works exactly, and I haven't found it all that easy to understand. As far as I understood, hadoop has a file system, it uses map reduce to find key information and then it is usually passed on to some other database. I didn't really understand if things like Hive were needed to interact with Hadoop through external applications
Don't know what you did, but I changed it and it worked. Thank you very much, marking this as the answer, and upvoting, you're like the first person in this site that has helped me out with this database.
Works for me too! ${system:user.name} is used in the template, but doesn't work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.