Phoenix JDBC连接时间太长

时间:2016-08-03 02:38:17

标签: hadoop hbase phoenix

我在phoenix-4.7.0 HBase-0.98上工作,并尝试编写java源代码来决定是否可以将phoenix用作SQL-SKIN。

我将phoenix-4.7.0-HBase-0.98-client.jar设置为$ CLASSPATH,它工作正常,但完成建立新连接需要几秒钟。

phoenixTest.java

import java.sql.*;
import java.util.*;
public class phoenixTest {
  public static void main(String args[]) throws Exception {
    Connection conn;
    Properties prop = new Properties();
    Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
    long startTime = System.currentTimeMillis();
    conn =  DriverManager.getConnection("jdbc:phoenix:localhost:2181:/hbase");
    long estimatedTime = System.currentTimeMillis() - startTime;
    System.out.format("got connection : %s ms\n", Long.toString(estimatedTime));
  }
}

结果

log4j:WARN No appenders could be found for logger(org.apache.hadoop.conf.Configuration.deprecation).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
got connection : 3218 ms

这是正常的吗?

如果不是,有没有办法让它更快?

1 个答案:

答案 0 :(得分:0)

当我们对凤凰城进行基准测试时,我们也会看到这一点我认为这是因为他们的jdbc客户端是一个沉重的客户端。我相信他们正在研究一个体重较轻的客户(https://phoenix.apache.org/server.html)。如果您需要低延迟访问,可以尝试Splice Machine。

https://github.com/splicemachine/spliceengine

它也是开源的。