In most of my experience with databases, there was a lot of data to go through, so it’s important that the UI is fast and all the menus are easily reached.
For the "Driver File Paths" you are pointing to hive-jdbc-uber-x.jar. Open the Diver Manager dialog ("Tools" > "Driver Manager.") and hit the "Create a new driver" icon.įill in the information as seen below. Non-kerberized Setup DbVisualizer (as of version 9.5.5)īelow is an example configuration using DbVisualizer: This updated code is inserted into the final "uber" jar and replaces the copy of .VersionInfo originally found in hadoop-common.jar. + " Trying this.getClass().getClassLoader()") VersionInfoFile + "' in Thread.currentThread().getContextClassLoader()." In my testing, this eliminated the above error in // both DbVisualizer and SQuirrelSQL. My updated code first checks the Thread.currentThread().getContextClassLoader(), but if no InputStream is found // then checks this.getClass().getClassLoader(). In any event, I have overwritten .VersionInfo in this project to use a more robust approach for loading the properties file. I suspect the difference in behavior between tools boils down to how each chooses to load the "uber" jar. The trouble seems to be caused by the way .VersionInfo attempts to load the properties file using Thread.currentThread().getContextClassLoader().
: Illegal Hadoop Version: Unknown (expected A.B.* format)Īt .(ShimLoader.java:168)Īt .(ShimLoader.java:143)Īt .(ShimLoader.java:129)Īt .(KerberosSaslHelper.java:54)Īt .HiveConnection.createBinaryTransport(HiveConnection.java:414)Īt .HiveConnection.openTransport(HiveConnection.java:191)Īt .HiveConnection.(HiveConnection.java:155)Īt .nnect(HiveDriver.java:105) To do this, the following snippet of code is called: This class attempts to load a file called *-version-info.properties in an effort to determine the current Hadoop version.
When connecting to a kerberized cluster, ultimately the class .VersionInfo is loaded.