带有 Impala JDBC 驱动程序的业务对象

Posted

技术标签:

【中文标题】带有 Impala JDBC 驱动程序的业务对象【英文标题】:Business Objects w/ Impala JDBC Driver 【发布时间】:2013-10-02 16:15:46 【问题描述】:

我在创建新 Universe 时尝试使用 Impala JDBC 驱动程序。当我测试连接时,我收到以下错误:

CS:Java 异常:java.lang.UnsupportedClassVersionError:.class 文件中的版本号错误

我修改了sbo文件如下:

<DataBase Active="Yes" Name="Generic JDBC datasource">
  <JDBCDriver>
    <!--  Uncomment and edit the following lines
                 to define java classes required by JDBC driver
            &lt;ClassPath&gt;
                &lt;Path&gt;your jar or class files directory&lt;/Path&gt;
            &lt;/ClassPath&gt;
             -->
    <ClassPath><Path>C:\impala-jdbc-0.5-2\hive-jdbc-0.10.0-cdh4.2.0.jar</Path></ClassPath>
    <Parameter Name="JDBC Class">org.apache.hive.jdbc.HiveDriver</Parameter>
    <Parameter Name="URL Format">jdbc:hive2://$DATASOURCE$/;auth=noSasl</Parameter>
  </JDBCDriver>
  <Parameter Name="Family">Generic</Parameter>
  <Parameter Name="SQL External File">jdbc</Parameter>
  <Parameter Name="SQL Parameter File">jdbc</Parameter>
  <Parameter Name="Description File">generic_jdbc</Parameter>
  <Parameter Name="Driver Capabilities">Query</Parameter>
  <Parameter Name="Transactional Available">No</Parameter>
  <Parameter Name="Max Rows Available">No</Parameter>
  <Parameter Name="Query TimeOut Available">No</Parameter>
  <Parameter Name="Array Fetch Size">10</Parameter>
</DataBase>

【问题讨论】:

【参考方案1】:

错误消息听起来好像驱动程序中使用的类是用比您当前正在执行的新版本的 java 编译的(例如,运行 Java 5,但驱动程序是用 Java 6 编译的)。由于您正在创建 Universe,因此版本差异很可能是您机器的本地版本。

要解决此问题,您有 2 个选项:

    将 Java 版本至少升级到用于编译的版本 司机 使用以前版本的 JDBC 驱动程序来匹配您正在执行的 java 版本。

【讨论】:

面掌;将 java 升级到 1.6,现在我得到 DBD: Method not supported

以上是关于带有 Impala JDBC 驱动程序的业务对象的主要内容,如果未能解决你的问题,请参考以下文章

在没有 Impala JDBC 驱动程序的情况下从 R 连接到 Impala

无法使用 Impala JDBC 驱动程序通过 Java 应用程序连接到 Impala

Impala 通过 jdbc 使元数据无效

如何在没有 ClassNotFound 异常的情况下在 Apache Tomcat 中配置 Impala/Hive2 JDBC 驱动程序

使用 impala jdbc 驱动程序时,not null 在 Pyspark 中不起作用

创建impala表并使用java添加数据