YDB系统JDBC接口访问工具
2016-10-30 16:38
393 查看
YDB系统JDBC接口访问工具
YDB:实时在线分析(OLAP)系统
YDB:实时在线分析(OLAP)系统:是我公司自主研发的一个大型分布式索引系统。旨在为数据总量为万亿级别、每天千亿级别数据增量的项目提供近似实时的数据导入,并提供近似实时响应的多维查询与统计服务。JDBC接口
JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。使用方法
$ java -jar ysql.jar -c drop table test; create table test(user string, password string); desc test; $ java -jar ysql.jar -f input $ cat input # 删除测试表格 drop table test; # 新建测试表格 create table test(user string, password string); # 查询表格结构 desc test;
源代码
package cn.net.ycloud.ejdazhi; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class YSql { public static void main(String[] args) { YSql ysql = new YSql(); ysql.start(args); } public void printUsage() { System.out.println("usage:"); System.out.println(" java -jar ysql.jar -c <sql command>[;<sql command>]..."); System.out.println(" java -jar ysql.jar -f filename"); } static Logger logger = LoggerFactory.getLogger(YSql.class); private List<String> mSqls = new ArrayList<>(); public void setSqls(String[] strings) { for (String string : strings) { if (string.trim().length() == 0) continue; mSqls.add(string); logger.info(string); } } public void start(String[] args) { try { parseParams(args); executeSql(); } catch (Exception e) { e.printStackTrace(); logger.info(e.getMessage()); } } private void parseParams(String[] args) throws IOException { String string = null; if (args.length >= 2) { if ("-c".equals(args[0])) { string = combineParams(args); } else if ("-f".equals(args[0])) { string = parseFile(args[1]); } } if (null != string) setSqls(string.split(";")); else printUsage(); } private String parseFile(String filename) throws IOException { File file = new File(filename); BufferedReader br = new BufferedReader(new FileReader(filename)); StringBuilder sb = new StringBuilder(); String line = null; while ((line = br.readLine()) != null) { if (line.indexOf('#') == 0) continue; sb.append(line).append(" "); } br.close(); return sb.toString(); } // combine from 1 to n and add space private String combineParams(String[] strings) { StringBuilder sb = new StringBuilder(); int n = strings.length; for (int i = 1; i < n; i++) { sb.append(strings[i]).append(" "); } return sb.toString(); } private void executeSql() throws ClassNotFoundException, SQLException { if (mSqls.size() == 0) return; Class.forName("org.apache.hive.jdbc.HiveDriver"); Connection conn = DriverManager.getConnection("jdbc:hive2://192.168.3.54:10000/default", "ycloud", ""); Statement smst = conn.createStatement(); for (String sql : mSqls) { ResultSet rs = smst.executeQuery(sql); ResultSetMetaData md = rs.getMetaData(); int columns = md.getColumnCount(); for (int i = 1; i <= columns; i++) { System.out.print(md.getColumnName(i)); System.out.print("\t\t"); } System.out.println(); 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(); } }
相关文章推荐
- JDBC数据访问接口
- Asp.Net : 捕捉和记录网站中出现的所有未处理错误,抛出详细的页面来源和访问ip,调用的接口方法及异常实例(记事本日志,系统日志及数据库日志)
- rap接口管理工具系统的搭建
- 应用程序访问内核的新接口/sys文件系统
- C程序设计语言- UNIX系统接口-7.1----文件描述符、低级IO(read、write)、随机访问、(open、creat、close、unlink)
- windows 下访问bsd系统分区的小工具 ____FFS driver mount manager
- LINUX下使用elasticsearch-jdbc工具实现MySQL同步到ElasticSearch 以及linux 64位centos系统安装jdk1.8
- Restful接口访问工具
- 在系统启用了session的情况下,通过相同浏览器的地址栏去访问接口$request中会多出一些字段
- cms 系统下应用对象层接口访问MDM
- JDBC访问数据中Statement接口的常用方法
- 系统内集成支付宝接口在生产机需要开放的访问ip和端口
- 使64位的oracle11g安装在64位系统上,可以通过plsql工具正常访问
- 用nodejs做代理访问外部接口系统,如何实现带参数的post请求?
- jdbc----java提供的访问数据库的接口【三】
- JAVA通过JDBC访问SAS数据(通过IOM接口)
- tiny210 hal 4 Android系统中编写JNI方法在应用程序框架层提供Java接口访问硬件
- jdbc,数据库案例:客户信息管理系统:jsp部分,数据库数据封装类,dao接口和实现
- rap接口管理工具系统的搭建
- 通过HTTP访问接口,工具方法