我正在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
这正常吗?
如果不是,是否有任何方法可以使其更快?
最佳答案
当我们以Phoenix为基准时,我们也会看到这一点。我认为这是因为他们的jdbc客户端是重型客户端。我相信他们正在开发重量更轻的客户端(https://phoenix.apache.org/server.html)。如果您需要低延迟访问,请尝试使用Splice Machine。
https://github.com/splicemachine/spliceengine
它也是开源的。
关于hadoop - Phoenix JDBC连接时间太长,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38733480/