zoukankan      html  css  js  c++  java
  • impala系列: 基本命令和jdbc连接

    --=======================
    使用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 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-12data-integrationpluginspentaho-big-data-pluginhadoop-configurationscdh510lib 中.

    也可以这些查询工具或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.
  • 相关阅读:
    先装Net Framework 后 装 IIS的处理办法
    post请求和get请求的区别
    再说重写IHttpHandler,实现前后端分离
    自定义VS的ItemTemplates 实现任意文件结构
    自动生成 Lambda查询和排序,从些查询列表so easy
    sql表分区
    关于Window Server2008 服务器上无法播放音频文件的解决方案
    Visifire Chart相关属性详解
    SQL Server数据库定时自动备份
    在SQL中 给字符串补0方法
  • 原文地址:https://www.cnblogs.com/harrychinese/p/jdbc_connect_to_impala.html
Copyright © 2011-2022 走看看