--=======================
使用impala-shell 登录
--=======================
impala-shell --auth_creds_ok_in_clear -l -i ip_address -u user_name

--=======================
JDBC driver
--=======================
Impala 官方jdbc driver有一些bug很致命的bug, 比如Insert 中文字符, 只能将前面一小段插入到数据库中, 应该是没有考虑中文字符长度不同于ascii码, 性能也比Hive Jdbc driver差, 至少, impala 2.5.43.1063版本测试是这样的. 所以, 推荐使用 hive2 jdbc driver去连接impala, 比如使用cdh5.10的 hive-jdbc-1.1.0-cdh5.10.0, 当然 jdbc url 应该还是 impala jdbc url的写法, 使用 需要说明的是, Kettle 的 Output组件使用Hive driver时候, 必须列出目标表全部的字段, 而且字段的顺序必须按照建表语句的顺序, 否则会报错.

impala jdbc url 的写法:
需要密码的jdbc url写法(test为默认数据库)
jdbc:impala://ip_address:21050/test;AuthMech=3;SSL=0
免密码的jdbc url写法(test为默认数据库)
jdbc:impala://ip_address:21050/test;AuthMech=0;SSL=0
在配置过程中碰到了好几个错误, [Simba][ImpalaJDBCDriver](500151) Error setting/closing session: {0}. 需要注意的是端口 和 jdbc 参数 AuthMech 和 SSL.

--=======================
impala JDBC 查询GUI工具
--=======================
dbeaver: 可以通过hive/impala driver 连接 impala, 当然推荐 hive driver.
DBVisualizer 9: 暂时还不能使用impala jdbc连接, 但可以通过hive jdbc连接.
Kettle 7.1, 可以通过hive/impala driver 连接 impala, 当然推荐 hive driver. 确保将所有相关的jar 复制到目录 pdi-ce-7.1.0.0-12\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh510\lib 中.

也可以这些查询工具或Kettle上为jdbc connectionjdbc设置下面经常使用的参数:
set request_pool=etl; -- 设置使用 etl 资源池
set mem_limit=-1; -- 取消内存限制
set mem_limit=10G; -- 设置工具级别的内存10G(单节点上的内存量)

--=======================
impala 常用命令
--=======================
show databases; --查看所有schema;
show tables; --查看默认schema下的表
show tables in schema_name; --查看指定schema下的表
show tables in schema_name like 'dim'; --在指定schema 下查看dim表;
use schema_name; --进入指定的schema_name
desc table_name; --查看指定表的表字段;
create database some_schema; --创建一个schema
show create table some_schema.some_table; --显示建表语句
SHOW TABLE STATS table_name ; -- 显示一个表的统计信息
COMPUTE STATS table_name; --对表收集统计信息
SHOW PARTITIONS [database_name.]table_name ; -- 显示partition
SHOW RANGE PARTITIONS [database_name.]table_name ; -- 显示range partition
show files in table_name ; -- 显示指定表后台的数据文件

SHOW ROLES ; -- 显示impala中的角色
SHOW CURRENT ROLES ; -- 显示当前用户的角色

impala session 级别设置:
set request_pool=etl; -- 设置使用 etl 资源池
set mem_limit=-1; -- 取消内存限制
set mem_limit=10G; -- 设置内存10G(单节点上的内存量), impala 经常会over estimate SQL语句需要的资源, 所以强烈建议在执行SQL之前, 使用 set mem_limit 限制SQL的内存消耗, 一个查询可以使用的最大内存为MEM_LIMIT * 节点数

--=======================
impala 默认的连接端口:
--=======================
port:21000, for impala-shell and ODBC driver 1.2.
port:21050, for JDBC and for ODBC driver 2.
其他服务端口见 https://www.cloudera.com/documentation/enterprise/5-7-x/topics/impala_ports.html

--=======================
jdbc连接常见错误
--=======================
更多内容参考 jdbc 安装包中的说明文档: Cloudera-JDBC-Driver-for-Impala-Install-Guide.pdf
java 程序的连接字符串示例 jdbc:impala://node1.example.com:21050/default2;AuthMech=3;UID=cloudera;PWD=cloudera

https://stackoverflow.com/questions/38775150/impala-jdbc-connection-error-setting-closing-session-open-session-error

AuthMech 参数
Set the value to one of the following numbers:

  • 0 for No Authentication
  • 1 for Kerberos
  • 2 for User Name
  • 3 for User Name and Password

SSL 参数

  • 0, not connect to SSL-enabled sockets.
  • 1, through an SSL-enabled socket.

impala系列: 基本命令和jdbc连接的更多相关文章

  1. OAF_JDBC系列2 - 通过JDBC连接SQLSERVER数据库DriverManager.getConnection

    d try{          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");          St ...

  2. 大数据系列之数据仓库Hive命令使用及JDBC连接

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  3. Java使用JDBC连接Impala

    前段时间,有一个项目在连接Impala的时候,可以测试连接成功,但是查询不出表.但是通过impala-shell的时候,是可以查询出来的,我觉的这种方式查询出来的话,可能和jdbc的方式不一样,因为i ...

  4. 一起学微软Power BI系列-使用技巧(2)连接Excel数据源错误解决方法

    上一篇文章一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库中,我们介绍了Power BI Desktop中连接Oracle和Mysql的方法,其实说到底还是驱动的问题, ...

  5. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  6. JDBC连接MySQL数据库代码模板

    下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...

  7. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  8. Field 'id' doesn't have a default value(jdbc连接错误)

    JDBC 连接错误: 编写数据库连接增添数据时,出现以下错误: error : java.sql.SQLException: Field 'id' doesn't have a default val ...

  9. JDBC连接MySQL 方法 实例及资料收集

    JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/315 ...

随机推荐

  1. 简单聊聊WebSocket

    一.概述 上一篇文章<浅析一次HTTP请求>我们分析了简单的一次 HTTP 请求具体是怎么样完成的,分析了 HTTP 协议的数据结构,如何连接,如何断开,又是如何多路复用的,那么今天我们来 ...

  2. python活用isdigit方法显示系统进程

    如何利用字符串的内置函数isdigit(),判断一个字符串是一个纯数字.如果是纯数字会返回True,否则返回fasle. 利用isdigit()方法编写一个python脚本显示所有系统进程pid.os ...

  3. 【BZOJ5322】[JXOI2018]排序问题(模拟)

    [BZOJ5322][JXOI2018]排序问题(模拟) 题面 BZOJ 洛谷 题解 这题就显得很呆. 显然就是每次找到\([l,r]\)中出现次数最小的那个数并且放一个. 然后随便模拟一下就好了Qw ...

  4. rt-thread 低优先级线程挂起高优先级线程失败

    @2019-01-13 [小记] 使用rt-thread线程管理功能时,低优先级线程挂起高优先级线程失败,高优先级线程或同等优先级线程挂起低优先级线程则成功.

  5. 解决SSH连接出现 Software caused connection abort 的问题

    修改服务器中/etc/ssh/sshd.config 文件,将LoginGraceTime的值设为0,默认为2m,TCPKeepAlive 设为yes, 然后使用service sshd restar ...

  6. Billiard CFR484 div2 (数论)

    就是一个点从开始的点在一个矩形内往某个方向一直运动,如果碰到了矩形的边,那么就反弹,我们可以把这个矩形拓展开,那么就是问题变成了我有没有一个点,这个点的坐标(Tx, Ty)满足n|Tx,m|Ty 那么 ...

  7. HDU3032 Nim or not Nim?

    解:使用sg函数打表发现规律,然后暴力异或起来即可. #include <bits/stdc++.h> typedef long long LL; ; int a[N]; inline L ...

  8. LOJ#2542 随机游走

    解:首先minmax容斥变成经过集合t的第一个点就停止的期望步数.对于某个t,设从x开始的期望步数为f(x) 如果x∈t,f(x) = 0.否则f(x) = ∑f(y) / in[x] + 1 树上高 ...

  9. A1011. World Cup Betting

    With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...

  10. 【洛谷P1601 A+B Problem(高精)】

    题目背景 无 题目描述 高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b] 输入输出格式 输入格式: 分两行输入a,b<=10^500 ...