4.1 与LSQL交互
4.1.1对接方式
LSQL支持以下几种对接方式
1.命令行的对接方式 2.JDBC接口的方式 (1)通过JAVA编程接入 (2)通过可视化SQL分析统计接入 (3)通过报表分析工具接入 3.http sql接口
4.1.2命令行的对接方式
图 4.1.2.2
4.1.3 JDBC接口的方式
通过JAVA编程接入
通过可视化SQL分析统计接入
通过报表分析工具接入
JDBC接入方式连接字符串
Connection conn = DriverManager.getConnection("jdbc:hive2://master:10009/default", "root", "!QAZ2wsx"); 10009 表示JDBC的端口号 root 表示连接时所使用的Hadoop账号,大家也要跟配置文件lsql-env.sh中一致,以免其他未知账号产生垃圾文件没有及时的清理掉,以及造成Hadoop权限问题
/opt/software/lsql/config/site/lsql-env.sh文件中配置如下:
图 4.1.3.1 lsql-env.sh配置
JAVA编程接口
依赖的JDBC客户端jar包,本质上就是HIVE的thrift接口,依赖的jar包也是Hive的jar包(hive版本为1.2.1)
Class.forName("org.apache.hive.jdbc.HiveDriver"); Connection conn = DriverManager.getConnection("jdbc:hive2://master:10009/default", "root", "!QAZ2wsx"); Statement smst = conn.createStatement(); ResultSet rs = smst.executeQuery("select * from lsql_example where partition = 'xxx' limit 10"); ResultSetMetaData m = rs.getMetaData(); int columns = m.getColumnCount(); for (int i = 1; i <= columns; i++) { System.out.print(m.getColumnName(i)); System.out.print("\t\t"); } while (rs.next()) { for (int i = 1; i <= columns; i++) { System.out.print(rs.getString(i)); System.out.print("\t\t"); } System.out.println(); } rs.close(); conn.close();
4.1.4 http sql接口
Http sql接口是一个通过使用http协议查询lsql数据库并通过json格式返回查询结果的接口。
本接口调用需要的参数:
参数名 | 含义 |
---|---|
username | 用户名 |
password | 密码 |
sql | sql语句 |
本接口调用url格式:
http://master:1210/httpsql?username=&password=&sql=
本接口返回是逐条返回json格式的查询结果。