packagecn.itcast.impala.impala;import java.sql.*;public classContants {private static String JDBC_DRIVER="com.cloudera.impala.jdbc41.Driver";private static String CONNECTION_URL="jdbc:impala://node1:21050/default;auth=noSasl";//定义数据库连接

static Connection conn=null;//定义PreparedStatement对象

static PreparedStatement ps=null;//定义查询的结果集

static ResultSet rs= null;//数据库连接

public staticConnection getConn(){try{

Class.forName(JDBC_DRIVER);

conn=DriverManager.getConnection(CONNECTION_URL);

}catch(Exception e) {

e.printStackTrace();

}returnconn;

}//创建一个表

public static voidcreateTable(){

conn=getConn();

String sql="CREATE TABLE impala_kudu_test" +

"(" +

"companyId BIGINT," +

"workId BIGINT," +

"name STRING," +

"gender STRING," +

"photo STRING," +

"PRIMARY KEY(companyId)" +

")" +

"PARTITION BY HASH PARTITIONS 16 " +

"STORED AS KUDU " +

"TBLPROPERTIES (" +

"'kudu.master_addresses' = 'node1:7051,node2:7051,node3:7051'," +

"'kudu.table_name' = 'impala_kudu_test'" +

");";try{

ps=conn.prepareStatement(sql);

ps.execute();

}catch(SQLException e) {

e.printStackTrace();

}

}//查询数据

public staticResultSet queryRows(){try{//定义执行的sql语句

String sql="select * from impala_kudu_test";

ps=getConn().prepareStatement(sql);

rs=ps.executeQuery();

}catch(SQLException e) {

e.printStackTrace();

}returnrs;

}//打印结果

public static voidprintRows(ResultSet rs){/**private int companyId;

private int workId;

private String name;

private String gender;

private String photo;*/

try{while(rs.next()){//获取表的每一行字段信息

int companyId = rs.getInt("companyId");int workId = rs.getInt("workId");

String name= rs.getString("name");

String gender= rs.getString("gender");

String photo= rs.getString("photo");

System.out.print("companyId:"+companyId+" ");

System.out.print("workId:"+workId+" ");

System.out.print("name:"+name+" ");

System.out.print("gender:"+gender+" ");

System.out.println("photo:"+photo);

}

}catch(SQLException e) {

e.printStackTrace();

}finally{if(ps!=null){try{

ps.close();

}catch(SQLException e) {

e.printStackTrace();

}

}if(conn !=null){try{

conn.close();

}catch(SQLException e) {

e.printStackTrace();

}

}

}

}//插入数据

public static voidinsertRows(Person person){

conn=getConn();

String sql="insert into table impala_kudu_test(companyId,workId,name,gender,photo) values(?,?,?,?,?)";try{

ps=conn.prepareStatement(sql);//给占位符?赋值

ps.setInt(1,person.getCompanyId());

ps.setInt(2,person.getWorkId());

ps.setString(3,person.getName());

ps.setString(4,person.getGender());

ps.setString(5,person.getPhoto());

ps.execute();

}catch(SQLException e) {

e.printStackTrace();

}finally{if(ps !=null){try{//关闭

ps.close();

}catch(SQLException e) {

e.printStackTrace();

}

}if(conn !=null){try{//关闭

conn.close();

}catch(SQLException e) {

e.printStackTrace();

}

}

}

}//更新数据

public static voidupdateRows(Person person){//定义执行的sql语句

String sql="update impala_kudu_test set workId="+person.getWorkId()+

",name='"+person.getName()+"' ,"+"gender='"+person.getGender()+"' ,"+

"photo='"+person.getPhoto()+"' where companyId="+person.getCompanyId();try{

ps=getConn().prepareStatement(sql);

ps.execute();

}catch(SQLException e) {

e.printStackTrace();

}finally{if(ps !=null){try{//关闭

ps.close();

}catch(SQLException e) {

e.printStackTrace();

}

}if(conn !=null){try{//关闭

conn.close();

}catch(SQLException e) {

e.printStackTrace();

}

}

}

}//删除数据

public static void deleteRows(intcompanyId){//定义sql语句

String sql="delete from impala_kudu_test where companyId="+companyId;try{

ps=getConn().prepareStatement(sql);

ps.execute();

}catch(SQLException e) {

e.printStackTrace();

}

}//删除表

public static voiddropTable() {

String sql="drop table if exists impala_kudu_test";try{

ps=getConn().prepareStatement(sql);

ps.execute();

}catch(SQLException e) {

e.printStackTrace();

}

}

}

java impala_Java实现impala操作kudu相关推荐

  1. impala创建kudu表过程,并发时异常

    1.环境 impala版本2.11.0-cdh5.14.0,kudu版本2.11.0-cdh5.14.0 2.问题现象 最近使用impala+kudu时遇到个问题,有个程序会定时通过jdbc来创建ku ...

  2. Spark操作Kudu

      到目前为止,我们已经听说过几个上下文,例如 SparkContext,SQLContext,HiveContext, SparkSession,现在,我们将使用 Kudu 引入一个KuduCont ...

  3. 客快物流大数据项目(四十四):Spark操作Kudu创建表

    Spark操作Kudu创建表 Spark与KUDU集成支持: DDL操作(创建/删除) 本地Kudu RDD Native Kudu数据源,用于DataFrame集成 从kudu读取数据 从Kudu执 ...

  4. 客快物流大数据项目(四十六):Spark操作Kudu dataFrame操作kudu

    Spark操作Kudu dataFrame操作kudu 一.DataFrameApi读取kudu表中的数据 虽然我们可以通过上面显示的KuduContext执行大量操作,但我们还可以直接从默认数据源本 ...

  5. java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

    http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果 ...

  6. java对cookie的操作

    原文:http://www.cnblogs.com/muzongyan/archive/2010/08/30/1812552.html java对cookie的操作比较简单,主要介绍下建立cookie ...

  7. java大文件读写操作

    转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...

  8. java对文本文件进行操作:读取、修改、添加、删除、重命名等

    java对文本文件进行操作:读取.修改.添加.删除.重命名等 Java IO 也称为IO流,IO = 流,它的核心就是对文件的操作,对于 字节 .字符类型的输入和输出流. IO是指对数据流的输入和输出 ...

  9. JAVA中用 SQL语句操作小结

    1.添加记录(INSERT) 使用SQL语句的INSERT命令可以向数据库中插入记录,INSERT命令的基本形式为: INSERT INTO 表名 [(字段名1,字段名2-)] VALUES (值1, ...

最新文章

  1. 2017年9月11日
  2. [改善Java代码]break万万不可忘
  3. PTC Creo 8.0.0.0 x64 Multilingual
  4. python判断_python判断与或
  5. 打印1900年到2100年之间的闰年,一行打印4个
  6. SYSLINUX 6.03不支持64bit的ext4
  7. 支付宝签名php,支付宝快捷支付 PHP服务端签名
  8. Power BI 学习六:报表中视觉对象元素
  9. 自己的微信小程序学习笔记【1】——小程序开发工具的使用及项目文件说明
  10. 鸿蒙车机系统合作,鸿蒙OS车机系统来了!华为吉利合作曝光,博越Pro或率先用上...
  11. 使用dayjs快速计算 两个日期之间的天数的差值
  12. 使用MSF进行提权(windows提权、linux提权、wesng使用)
  13. Cpp web(一) Ubuntu下安装使用Crow服务
  14. 转--Python标准库之一句话概括
  15. 计算机组装与维护手写笔记,科学网—计算机技术的简单小结 - 熊伟的博文
  16. Metabase学习教程:系统管理-3
  17. STM32+收发器实现CAN和485总线
  18. typedef的用法,C语言typedef详解
  19. 中科大2018计算机在安徽招生最低分,中国科学技术大学2020年录取分数线(附2017-2020年分数线)...
  20. 网站设置为可信任站点

热门文章

  1. Codeforces Round #533 (Div. 2) C.思维dp D. 多源BFS
  2. 将python代码编译成.so文件
  3. c#调api串口通讯
  4. flask 必知必会
  5. Python编程之数据结构与算法练习_004
  6. C/C++ 中判断某一文件或目录是否存在
  7. 02-合并frame
  8. Sqlite学习笔记(五)SQLite封锁机制
  9. 【转】【C#.NET】ASP.NET状态管理之一:Cookie
  10. WCF分布式开发步步为赢系列