首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自cassandra连接的java.sql.SQLException和使用presto查询

来自cassandra连接的java.sql.SQLException和使用presto查询
EN

Stack Overflow用户
提问于 2014-07-02 12:00:49
回答 1查看 919关注 0票数 0

我用CQL为cassandra准备了一些表格。实际上,我试图对我的数据(sum、avg等)应用聚合查询。所以,我用了前置卡桑德拉和爪哇。我已将presto配置如下:

Config.properties:

代码语言:javascript
复制
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri= `http://localhost:8080`

JVM.properties:

代码语言:javascript
复制
-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:PermSize=150M
-XX:MaxPermSize=150M
-XX:ReservedCodeCacheSize=150M
-Xbootclasspath/p:C:/Presto/lib/floatingdecimal-0.1.jar

log.properties:

代码语言:javascript
复制
com.facebook.presto=INFO

node.properties:

代码语言:javascript
复制
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=C:/Presto/data

cassandra.properties:

代码语言:javascript
复制
connector.name=cassandra
cassandra.contact-points=localhost
cassandra.native-protocol-port=9142
cassandra.thrift-port=9160

然后,我一直试图连接到presto,并通过jdbc运行一些查询,但我一直收到错误。守则是:

代码语言:javascript
复制
public static void connect() throws ClassNotFoundException, SQLException{
    Class.forName("com.facebook.presto.jdbc.PrestoDriver");
    PrestoConnection connection = (PrestoConnection) DriverManager.getConnection("jdbc:presto://localhost:8080/cassandra/premierkeys", "test","");
    PrestoStatement statement = (PrestoStatement) connection.createStatement();
    ResultSet rs = statement.executeQuery("select * from client");
    while(rs.next()) {
        System.out.println(rs.getString(1));
    }       
}
public static void main(String[] args) throws ClassNotFoundException, SQLException {
    // TODO Auto-generated method stub
    connect();
}

此外,maven依赖项看起来如下所示:

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>com.facebook.presto</groupId>
        <artifactId>presto-cassandra</artifactId>
        <version>0.72</version>
        <type>zip</type>
    </dependency>
    <dependency>
        <groupId>com.facebook.presto</groupId>
        <artifactId>presto-jdbc</artifactId>
        <version>0.72</version>
    </dependency>
</dependencies>`

但是当我运行这段代码时,我得到:

代码语言:javascript
复制
***juil. 02, 2014 11:32:57 AM com.facebook.presto.jdbc.internal.jetty.util.log.JavaUtilLog info
INFOS: Logging initialized @122ms
Exception in thread "main" java.sql.SQLException: Error executing query
    at com.facebook.presto.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:54)
    at tester_cass.connect(tester_cass.java:19)
    at tester_cass.main(tester_cass.java:26)
Caused by: java.lang.IllegalStateException: Response does not contain a JSON value
    at com.facebook.presto.jdbc.internal.airlift.http.client.FullJsonResponseHandler$JsonResponse.getValue(FullJsonResponseHandler.java:148)
    at com.facebook.presto.jdbc.internal.client.StatementClient.<init>(StatementClient.java:82)
    at com.facebook.presto.jdbc.QueryExecutor.startQuery(QueryExecutor.java:60)
    at com.facebook.presto.jdbc.PrestoConnection.startQuery(PrestoConnection.java:541)
    at com.facebook.presto.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:49)
    ... 2*** 

有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-07 14:21:32

隔离问题:

  • 尝试通过普雷斯托运行Querys
  • http://<your-presto-coordinator>:8080/上的Presto获取堆栈跟踪
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24530589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档