4.1 与LSQL交互

4.1.1对接方式

LSQL支持以下几种对接方式

1.命令行的对接方式 2.JDBC接口的方式 (1)通过JAVA编程接入 (2)通过可视化SQL分析统计接入 (3)通过报表分析工具接入 3.http sql接口

4.1.2命令行的对接方式

  1. 进入LSQL的安装目录的bin目录 运行./beeline.sh

    图 4.1.2.1进入命令行

  2. 通过./sql.sh -f xxx.sql 直接执行文件中的SQL

命令行对接_4.1.2-2

图 4.1.2.2

4.1.3 JDBC接口的方式

  1. 通过JAVA编程接入

  2. 通过可视化SQL分析统计接入

  3. 通过报表分析工具接入

    1. 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配置

    2. 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格式的查询结果。

Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-05 11:49:37

results matching ""

    No results matching ""