Impala的学习积累

16 篇文章 2 订阅

以下是工作中使用Impala遇到的问题记录

目录

1.impala的连接问题:

2.取消impala任务:

3.Hive和impala的concat函数区别

4.impala 或hive 给指定kudu库中的表添加列,修改列并调整列位置

5.Impala时区问题

6. kudu中视图更改

其他小问题


1.impala的连接问题:

当设置ldap权限后,impala登陆需要用户名/密码的验证

impala-shell Not Connected的问题

2.取消impala任务:

  1. 在cm管理界面取消
  2. 查看impala具体的节点,比如http://test01:25000/queries,取消查询任务

因为发现在CDH中的impala查询页面取消impala的任务是没有效果的,所以登陆impala节点的那台服务器上去直接取消任务。

3.Hive和impala的concat函数区别

impala使用过程中concat 字段拼接中的坑:
Hive里面 concat 和concat_ws函数不一样,但是impala里两函数是一样的,只要有一个拼接字段有空值结果都是空值,但是hive里,concat_ws函数只要有一个字段不为空,结果就不为空。
所以在使用concat_ws函数,某一个字段是空值就会导致rowkey主键为NULL的现象,修改的方法可以使用ifnull进行替换。

示例:

--impala 使用的时候concat 做字段拼接的时候如果拼接的字段为null,那么拼接之后整个字段都为null,需要将null字段先转为空字符串,用ifnull处理

CONCAT(coor_x,IFNULL(coor_x_2,''),IFNULL(coor_x_3,''),IFNULL(coor_x_4,''),IFNULL(coor_x_5,''))     coor_x,       

CONCAT(coor_y,IFNULL(coor_y_2,''),IFNULL(coor_y_3,''),IFNULL(coor_y_4,''),IFNULL(coor_y_5,''))     coor_y,

4.impala 或hive 给指定kudu库中的表添加列,修改列并调整列位置

alter TABLE fact_cpu_supply_category add columns(supplier_name string COMMENT '供应商名称');

ALTER TABLE fact_cpu_supply_category CHANGE supplier_name supplier_name STRING AFTER doc_id;

注意在impala中after clolumn这部分是执行不了的,hive可以执行

原文参考链接:https://blog.csdn.net/zy103118/article/details/103010989

5.Impala时区问题

做项目的时候发现impala运行UNIX_TIMESTAMP得到的时间戳通过网页工具转换差8个小时,经查询是时区的问题:

默认impala配置不是中国的时区,所以在用from_unixtime的时候,有八个小时的时间差。

解决方案1:
impala启动时加 -use_local_tz_for_unix_timestamp_conversions=true。
在cdh里面,impala->配置->mpala Daemo ->Impala Daemon 命令行参数高级配置代码段(安全阀) 加 -use_local_tz_for_unix_timestamp_conversions=true

解决方案2:
用时间函数减去八个小时:
SELECT UNIX_TIMESTAMP('2021-02-04 00:30:12')-28800

6. kudu中视图更改

hive中只能建立和删除视图,而通过impala操作kudu表可以建立、更改、删除视图。类似Oracle中的create or replace view myview。

在impala中修改视图语句:

Alter view myview as 
select id, name, salary 
from customers;

其他小问题

正确使用Impala的invalidate metadata与refresh语句
 

参考文章:

https://blog.csdn.net/u010647035/article/details/88370969

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大宇进阶之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值