Impala实践之十五:Impala使用文档

原创 2016年08月31日 15:50:21

前言

由于前期大家使用Impala的时候都比较随意,再加上对Impala的原理不清楚,因此在使用的过程中对Impala带来了很大的压力。

经过前段时间的研究和实验。我整理了一份Impala使用文档,供组内小伙伴使用。

概述

针对大数据集群Impala组件的使用说明。包括使用原则、建议和规范。以下所有建议均建立在日常使用过程中总结的经验和实际测试结果之上。若有问题,请联系文档发布者。

读者对象

  • 平台数据开发人员
  • 平台数据分析人员
  • 数据挖掘研发人员

元数据操作规范

总体说明:

  1. 只有通过hdfs增加或删除分区中文件后,才需要人为更新元数据,其余情况依赖impala自带更新机制即可。

  2. 通过hdfs增加或删除分区中文件后一律使用refresh tablename操作,性能损耗最低。

  3. 日常查询操作一律不加-r参数。如果出现提示元数据过期(该提示为目前版本bug,不必理会),可断开重连或者使用refresh操作。

注意: 如果在同一个shell脚本中,先执行了ddl操作,然后又对相应的库执行查询,会出现元数据同步延迟导致无法读取信息的操作。

refresh [tablename](部分操作使用)

使用场景:

  1. 通过HDFS添加或删除分区下文件

使用规范:

  1. 通过hdfs在分区中添加和删除文件后,使用refresh tablename操作

  2. 其余任何操作不需要使用。

使用建议:

  1. 如果提示某张表元数据可能过期时,可以断开impala-shell后重连或者使用该语句。

  2. 日常impala任务,可以取消脚本中的-r参数,使用refresh tablename代替。

  3. 在查询端,不需要执行任何元数据相关的操作。

-r参数(不使用)

该操作等同于invalidate metadata

使用场景:

  1. 通过Hive修改元数据

  2. 通过HDFS添加或删除分区下文件

使用规范:

个人任务脚本中不使用

查询任务时不使用

使用建议:

除非在短时间内通过hdfs或者hive修改了大量的元数据,否则不要使用。

invalidate metadata(不使用)

使用场景:

  1. 使用场景同-r参数

使用规范:

个人任务脚本中不使用

查询任务时不使用

使用建议:

  1. 使用hive进行表ddl操作后需要执行invalidate metadata tablename

invalidate metadata [tablename](少使用)

使用场景:

  1. refresh tablename

使用规范:

  1. 一律使用refresh操作代替该操作。

  2. 在shell脚本(使用impala)中如果先执行ddl操作,而且需要立即执行查询或者插入操作,需要在查询或者插入操作执行invalidate metadata tablename操作。

负载均衡

总体说明:

1.大批量的任务以后通过负载均衡
2.Jdbc和impala-shell分别使用相应的连接端口

Jdbc任务

使用举例:

jdbc:hive2://host:25003/;auth=noSasl

Impala-shell任务

使用举例:

通过shell执行的脚本,统一使用impala统一提交脚本

Impala统一提交脚本使用说明

为便于impala提交任务管理,以及集群节点故障后保证impala提交任务能正常运行,以后Impala的shell任务统一使用平台提供的脚本。

脚本功能描述

统一分配impala连接信息。

统一分配mysql连接信息。

脚本位置:

调度系统:/path/get_ds_conf.sh

提交机:/path/get_ds_conf.sh

使用说明

Impala使用举例

#!/bin/bash 
source /path/get_ds_conf.sh
#获得配置数据
IMPALA_COMMOND=`getImpalaCommand`
${IMPALA_ COMMOND }  "select * from table limit 100"

Mysql使用举例

#!/bin/bash 
source /path/get_ds_conf.sh
MYSQL_COMMOND=`getMysqlCommand`
${MYSQL_ COMMOND }  "select * from table limit 100"

总结

文档在四五月份的时候就整理了,今天突然想起来这茬了,就整理处理,从word里面摘出来一部分内容。


2016-08-31 15:40:00 hzct

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Impala配置与错误解决方案

impala 安装 impala配置问题

Hadoop-Impala十大优化系列之(1)—分区表优化-8个方法让分区最优化

1.1  Hadoop-Impala十大优化系列之(1)—分区表优化-8个方法让分区最优化 impala表分区        默认情况下,表中的所有数据文件都位于一个目录中。分区是在加载过程中基于...

Impala实践之七:添加负载均衡

前言impala的负载均衡,使用haproxy来做,主要是比较简单。安装后做一个小配置就行。主要用的就是haproxy四层交换机的特性,讲所有指向haproxy主机和端口的请求,转发到相应的主机:端口...

漫谈数据仓库之基本概念总结(不断更新)

0x00 前言 整理一些数据仓库中的常用概念。大部分概念不是照搬书上的准确定义,会加入很多自己的理解。 0x01 概念数据仓库(Data Warehouse) 数据仓库,英文名称为Data W...

Impala实践之三:详解invalidate metadata

前言这次主要是想通过源码找到invalidate metadata执行的原理,由于不太懂java和c++的互调的细节,目前只能查找到如下阶段,后面会专门看一下java的jni以及thrift的原理。分...

Impala实践之八:脚本中引号问题

前言写脚本,遇到一个小坑,python和seven帮忙填了一下,突然想起来之前貌似遇到过类似的情况。版本一脚本:sql=$1 coordinator=$2 output_file=$3echo $sq...

Impala实践之十:impala最佳实践(转、译、整理)

前言最近在看impala原理时候翻出来的一些tip,帮助更好地使用impala,自己整理一下。0x01 杂项1. Impala 使用缓存吗?Impala 不会缓存数据,但它缓存一些表和文件的元数据。尽...

Impala实践之四:记一次Impala报错的处理和分析过程

前言impala集群出错的一次记录和解决方法以及解决思路。错误记录错误信息Memory limit exceeded Cannot perform hash aggregation. Partitio...

Impala实践之五:一次系统任务堵塞记录 + 思考

前言前段时间,imppala资源告警,各种任务失败,查询堵塞,因此公司集群升级。这次迁移的确必须,因为当时的集群规模很小,资源太紧张了。迁移集群后,今天集群再次出问题,导致一个下午没什么事都没干,查了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)