美文网首页
Impala与Hbase整合实现查询添加数据

Impala与Hbase整合实现查询添加数据

作者: __元昊__ | 来源:发表于2019-05-08 11:01 被阅读0次

Impala是Cloudera 开发的所以在CDH大数据环境下 安装简单,CDH自己集成了Impala

Impala可以通过Hive外部表方式和HBase进行整合,步骤如下:

步骤1:创建hbase 表,向表中添加数据

create 'test_info', 'info'
put 'test_info','1','info:name','zhangsan’
put 'test_info','2','info:name','lisi'

步骤2:创建hive表

CREATE EXTERNAL TABLE test_info(key string,name string )
ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe'
STORED by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,info:name")
TBLPROPERTIES
("hbase.table.name" = "test_info");

步骤3:刷新Impala表

impala-shell命令进入操作界面

invalidate metadata;

整合完毕,验证一下:


微信截图_20190508105502.png 微信截图_20190508105636.png
微信截图_20190508105751.png
微信截图_20190508105812.png

用JDBC java代码调用:

pow引用

<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc -->
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>1.1.1</version>
        </dependency>

代码:

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

public class ImpalaJDBC {

    private static final String SQL_STATEMENT = "SELECT * FROM test_impala_hbase";
    private static final String IMPALAD_HOST = "172.24.112.13";
    private static final String IMPALAD_JDBC_PORT = "21050";
    private static final String CONNECTION_URL = "jdbc:hive2://" + IMPALAD_HOST + ':' + IMPALAD_JDBC_PORT + "/;auth=noSasl";

    private static final String JDBC_DRIVER_NAME = "org.apache.hive.jdbc.HiveDriver";

    public static void main(String[] args) {
        System.out.println("Cloudera Impala JDBC Example");
        System.out.println("Using Connection URL: " + CONNECTION_URL);
        System.out.println("Running Query: " + SQL_STATEMENT);

        Connection con = null;

        try {

            Class.forName(JDBC_DRIVER_NAME);
            con = DriverManager.getConnection(CONNECTION_URL);
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(SQL_STATEMENT);
            System.out.println("Begin Query Results");
            while (rs.next()) {
                System.out.println(rs.getString(1)+"\t"+rs.getString(2));
            }

            System.out.println("End Query Results");

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

结果:


微信截图_20190508110123.png

相关文章

  • Impala与Hbase整合实现查询添加数据

    Impala是Cloudera 开发的所以在CDH大数据环境下 安装简单,CDH自己集成了Impala Impal...

  • Impala

    Impala概述 Impala是什么 Impala是一款针对HDFS和HBASE中的PB级别数据进行交互式实时查询...

  • Impala入门(定位 架构)

    参考资料 基于Impala平台打造交互查询系统(选型)Impala查询优化大数据CDH之查询优化Impala内存优...

  • 001 Impala | 介绍

    Impala能够对HDFS,Hbase中的数据,提供快速的,交互的SQL查询,除了和Hive一样使用统计的存储平台...

  • 大数据 - (五-1)- Impala

    什么是Impala 针对存储在Hadoop的HDFS和HBase中的PB级大数据 进行交互式实时查询(速度快) I...

  • 浅谈交互式查询⼯工具Impala(二)

    四、Impala的使⽤(使⽤用与Hive类似,编写sql⽅方式;Impala的DDL,查询语法,导⼊入数据) Im...

  • phoenix连接和查询

    phoenix元数据查询命令 1.1 phoenix的连接 Maven中添加jar包 添加hbase-site.x...

  • flink 写数据到hbase

    flink 写入数据到hbase 连接数等于并行度,用法同RichFunction 可以实现查询hbase,存入h...

  • Impala数据加载与查询

    摘要:Impala,hdfs,impala-shell,hive 数据加载 Impala数据加载分为两种方式 使用...

  • Impala 入门

    1 概述 1.1 什么是 Impala? Cloudera 公司推出,提供对 HDFS、Hbase 数据的高性能、...

网友评论

      本文标题:Impala与Hbase整合实现查询添加数据

      本文链接:https://www.haomeiwen.com/subject/swtmoqtx.html