`

impala JAVA api 简单使用

阅读更多
package com.chengshu.impala;

	import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

	public class ClouderaImpalaJdbcExample {
		
		
		private static final String SQL_STATEMENT = "select count(*) as cnt from web_logs ";
		//private static final String SQL_STATEMENT = "DESCRIBE test.t_a";
		// set the impalad host
		private static final String IMPALAD_HOST = "192.168.202.31";
		// port 21050 is the default impalad JDBC port 
		private static final String IMPALAD_JDBC_PORT = "25003";
		
		public static final String UTF_8 = "UTF-8";
		
		private static final String CONNECTION_URL_PROPERTY = "connection.url";
		private static final String JDBC_DRIVER_NAME_PROPERTY = "jdbc.driver.class.name";

		private static String connectionUrl = "jdbc:hive2://" + IMPALAD_HOST + ':' + IMPALAD_JDBC_PORT + "/default;auth=noSasl";
		private static String jdbcDriverName = "org.apache.hive.jdbc.HiveDriver";

		public static void main(String[] args) throws IOException {

//	                if (args.length != 1) {
//	                        System.out.println("Syntax: ClouderaImpalaJdbcExample \"<SQL_query>\"");
//	                        System.exit(1);
//	                }
	        String sqlStatement = SQL_STATEMENT;

			System.out.println("\n=============================================");
			System.out.println("Cloudera Impala JDBC Example");
			System.out.println("Using Connection URL: " + connectionUrl);
			System.out.println("Running Query: " + sqlStatement);

//	                loadConfiguration();

			Connection con = null;

			try {

				Class.forName(jdbcDriverName);

				con = DriverManager.getConnection(connectionUrl);
				
				
				Statement stmt = con.createStatement();
				
//				stmt.execute("use default");
				
				ResultSet rs = stmt.executeQuery(sqlStatement);

				System.out.println("\n== Begin Query Results ======================");
				

				// print the results to the console
				while (rs.next()) {
					// the example query returns one String column
					System.out.println(rs.getString(1));
				}
				
				rs = stmt.executeQuery(sqlStatement);
				while (rs.next()) {
					// the example query returns one String column
					System.out.println(rs.getString(1));
				}

				System.out.println("== End Query Results =======================\n\n");

			} catch (SQLException e) {
				e.printStackTrace();
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				try {
					con.close();
				} catch (Exception e) {
					// swallow
				}
			}
		}
		
	
}

ClouderaImaplaJdbcExample.java 

 

 

package com.chengshu.impala;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
public class SpringJdbcImpala {
   public static void main(String args[]) throws Exception {
      SingleConnectionDataSource ds = new SingleConnectionDataSource();
      ds.setDriverClassName("org.apache.hive.jdbc.HiveDriver");
      ds.setUrl("jdbc:hive2://192.168.202.31:25003/default;auth=noSasl");
      
      ds.setConnectionProperties(new Properties());
      
//      ds.setUsername("sa");
//      ds.setPassword("");
      //
      // ds.setDriverClassName("com.mysql.jdbc.Driver");
      // ds.setUrl("jdbc:mysql://localhost:3306/spring");
      // ds.setUsername("spring");
      // ds.setPassword("t1cket");
      //
      // ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
      // ds.setUrl("jdbc:oracle:thin:@fiji:1521:my10g");
      // ds.setUsername("spring");
      // ds.setPassword("t1cket");
      
      JdbcTemplate impalaTemplate = new JdbcTemplate(ds);
      impalaTemplate.setIgnoreWarnings(false);
      
      
      impalaTemplate.execute("CREATE TABLE IF NOT EXISTS tmp_segment_tb (id STRING) STORED AS PARQUET");
      
      impalaTemplate.execute("INSERT into tmp_segment_tb select 'String1' ");
      
      
      int count = impalaTemplate.queryForInt("select count(*) from tmp_segment_tb where id = 'String1' ");    
      
      System.out.println(count);
      
//      SqlRowSet res = impalaTemplate.queryForRowSet("select id from tmp_segment_tb");
      
//      impalaTemplate.queryForObject("select * from web_logs", new RowMapper<ResultSet>(){
//
//    public ResultSet mapRow(ResultSet rs, int rowNum)
//      throws SQLException {
//     System.out.println("--------" + rs.getString("id"));
//     while(rs.next()){
//         System.out.println("--------" + rs.getString("id"));
//        }
//     return rs;
//    }
//       
//      });
      
      ds.destroy();
    }
}

SpringJdbcImpala.java 

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.chengshu</groupId>
  <artifactId>impala</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>impala</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
  	
  		<dependency>
			<groupId>org.apache.hive</groupId>
			<artifactId>hive-jdbc</artifactId>
			<version>1.2.1</version>
		</dependency>
		<dependency>
  			<groupId>org.apache.hadoop</groupId>
  			<artifactId>hadoop-common</artifactId>
  			<version>2.7.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-client</artifactId>
			<version>2.7.1</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>4.0.3.RELEASE</version>
		</dependency>
  
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  
  <!-- <repositories>
		<repository>
			<id>cdh.repo</id>
			<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
			<name>Cloudera Repositories</name>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>cdh.snapshots.repo</id>
			<url>https://repository.cloudera.com/artifactory/libs-snapshot-local</url>
			<name>Cloudera Snapshots Repository</name>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
			<releases>
				<enabled>false</enabled>
			</releases>
		</repository>
		<repository>
			<id>central</id>
			<url>http://repo1.maven.org/maven2/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories> -->
</project>

 pom.xml

 

 

 

 

 

 

分享到:
评论

相关推荐

    cdh impala JAVA 代码

    JDBC是Java平台的标准API,允许Java程序连接到各种数据库,包括Impala。Cloudera提供了一个名为`Cloudera-Impala-JDBC-Example-impala-cdh-5.5.2`的库,这正是Java连接Impala所需驱动的版本,适用于CDH 5.5.2。 2. ...

    java通过jdbc连接impala所需jar

    在本案例中,我们讨论的是如何使用Java通过JDBC连接到Cloudera的Impala,一个高性能的数据处理引擎,主要用于处理大规模数据集。 首先,我们需要理解以下关键概念: 1. **Impala**: Impala是由Cloudera开发的MPP...

    hive metastore java api使用

    hive metastore是hive的元数据管理服务,实际应用中很多第三方框架需要访问metastore服务,如spark,impala等。同样hive metastore也提供了java接口。 使用 import org.apache.hadoop.hive.conf.HiveConf; import org...

    java调用Cloudera Manager Api实例

    Java调用Cloudera Manager API是一个复杂而关键的任务,它涉及到使用Java编程语言与Cloudera Manager服务器进行交互,以实现自动化管理和监控大数据集群。Cloudera Manager是管理Hadoop和其他Cloudera支持的数据处理...

    java连接impala驱动jar包

    使用Java连接Impala主要涉及以下几个关键知识点: 1. **JDBC(Java Database Connectivity)**:JDBC是Java中用于与各种数据库进行通信的一组API,它是Java标准的一部分。通过JDBC,开发者可以编写数据库独立的代码...

    jdbc 通过impala 连接hive库

    有了正确的依赖后,你可以使用Java的JDBC API建立到Impala的连接。首先,加载驱动并创建连接: ```java Class.forName("com.cloudera.impala.jdbc4.Driver"); Connection conn = DriverManager.getConnection("jdbc...

    Cloudera-JDBC-Driver-for-Impala-Install-Guide.pdf

    4. Java API与Impala交互:文档中讲到“Java API实现对impala的操作”,这意味着用户可以通过Java应用程序接口(Java API)与Impala进行交云。Java API是指定义在Java程序中用于调用其他软件或平台服务的一组规则、...

    dbeaver impala jdbc连接包

    确保使用与CDH5.16.2兼容的Impala JDBC驱动是很重要的,因为不同版本的Impala可能会有不兼容的API变化。 总之,"dbeaver impala jdbc连接包"是指为了在DBeaver环境中实现对CDH5.16.2集群上Impala 2.12数据库的连接...

    impala_jdbc.zip

    Impala JDBC驱动是基于Java API设计的,允许Java应用程序或者任何支持JDBC的工具(如Tableau、Excel等)连接到Impala服务,执行SQL查询并获取结果。这使得开发人员无需了解底层的Hadoop生态系统细节,就能实现高效的...

    大数据Impala架包

    描述中提到的“用于JDBC连接Impala的工具包”,意味着这个压缩包包含了实现Java Database Connectivity (JDBC) 的组件,使得开发者可以通过标准的JDBC接口来与Impala交互。JDBC是Java编程语言中用于与各种数据库进行...

    impala驱动jar包

    JDBC驱动程序使得Java开发者能够编写程序,通过标准的JDBC API与Impala交互,进行数据的读取、写入和更新操作。 在使用Impala驱动jar包时,你需要进行以下步骤: 1. **添加依赖**:将ClouderaImpalaJDBC4_2.5.43....

    cloudera impala安装使用中文版

    - **编程接口**: 提供多种编程接口,如 Java API,便于开发者集成应用。 - **与 Hive 的协同工作**: Impala 与 Hive 共享相同的元数据存储和部分查询语法,实现数据的一致性。 #### 七、Impala 的应用场景 - **...

    Cloudera JDBC Driver for Impala

    这个驱动程序允许开发者和数据分析师使用标准的JDBC接口来与Impala进行交互,从而在Java应用程序中执行SQL查询、数据操作以及数据分析。Impala是Cloudera提供的一种高性能、实时分析的SQL查询引擎,它与Hadoop生态...

    采用jdbc连接Impala

    JDBC提供了一组API,允许Java应用程序与关系型数据库进行交互。这包括加载数据库驱动、建立连接、执行SQL语句和处理结果集等操作。对于Impala,我们需要找到支持它的JDBC驱动,通常可以从Cloudera官方网站获取。这个...

    IMPALA操作手册

    如果Statestore所在主机出现问题,可以通过简单的服务重启和角色迁移来恢复服务。 #### 四、ImpalaCatalog - **功能**: ImpalaCatalog(目录服务)组件负责将ImpalaSQL语句中的元数据更改中继到集群中的所有...

    impala-jdbc驱动

    它是Java应用程序与Impala之间通信的桥梁,使得开发者能够使用标准的Java SQL API来执行查询、操作数据以及管理Impala的数据源。Impala是一款高度优化的、分布式的SQL查询引擎,专为Hadoop生态系统设计,提供低延迟...

    impala_jdbc驱动包

    使用Impala的JDBC驱动,开发者可以编写Java程序来实现以下功能: - **连接管理**:创建数据库连接,执行SQL语句,关闭连接。 - **查询操作**:执行SELECT语句,获取结果集,遍历并处理数据。 - **DML操作**:INSERT...

    大数据基础操作说明-HADOOP HIVE IMPALA

    交互式 Shell 可以通过 Hive 的命令行接口或 Hive 的 Java API 实现。 Impala Impala 是一个高性能的分布式SQL查询引擎,用于快速查询和分析大规模数据。Impala 提供了一个 SQL like 的查询语言,用于查询和分析...

    impala-jdbc.zip

    总结来说,`impala-jdbc.zip`这个压缩包提供的示例代码展示了如何利用Java的JDBC API与Impala数据库进行交互,包括建立连接、执行SQL和管理连接池等核心功能。这对于需要在Java应用中集成Impala进行数据管理的开发者...

Global site tag (gtag.js) - Google Analytics