java 連接presto實現SQL查詢

presto的安裝參考http://blog.csdn.net/ouyang111222/article/details/50507471

一  引入jar

      <dependency>
         <groupId>com.facebook.presto</groupId>
         <artifactId>presto-jdbc</artifactId>
         <version>0.100</version>
    </dependency>

二 Java測試

public static void main(String[] args) throws SQLException, ClassNotFoundException {
         Class.forName("com.facebook.presto.jdbc.PrestoDriver");
         Connection connection = DriverManager.getConnection("jdbc:presto://10.199.xxx.xx:8001/kafka01/default","root",null);  ;  
         Statement stmt = connection.createStatement();  
         ResultSet rs = stmt.executeQuery("show tables");  
         while (rs.next()) {  
             System.out.println(rs.getString(1));  
         }  
         rs.close();  
         connection.close();  

    }

出現如下的錯誤:

Exception in thread "main" java.lang.UnsupportedClassVersionError: 
com/facebook/presto/jdbc/PrestoDriver : Unsupported major.minor version 52.0

這個錯誤是由於高版本的java project使用了低版本的來運行。怎麼破???當前用的jdk是1.7,presto使用的jdk是1.8!

分析:類似錯誤均屬於Java版本問題,即JDK版本過低,只要選擇相對應的JDK版本編譯即可。
48,49,50,51,52是Java編譯器內部的版本號:

Unsupported major.minor version 52.0 對應於 JDK1.8(JRE1.8)

Unsupported major.minor version 51.0 對應於 JDK1.7(JRE1.7)
Unsupported major.minor version 50.0 對應於 JDK1.6(JRE1.6)
Unsupported major.minor version 49.0 對應於 JDK1.5(JRE1.5)
Unsupported major.minor version 48.0 對應於 JDK1.4(JRE1.4)


關於minor version具體參考博文:http://www.blogjava.net/Jay2009/archive/2009/04/23/267108.html


解決方法:安裝jdk1.8,在eclipse中將編譯的版本改爲1.8,同時將jre更改爲1.8,如下圖1和圖2

                                                   圖1 修改編譯level

                                                   圖2 install jre

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章