1、时区问题:
默认impala配置不是中国的时区,所以在用from_unixtime的时候,有误差。
解决方案:impala启动时加 -use_local_tz_for_unix_timestamp_conversions=true在cdh里面,impala->配置->mpala Daemo ->Impala Daemon 命令行参数高级配置代码段(安全阀) 加 -use_local_tz_for_unix_timestamp_conversions=true
2、不是从impala入库的数据,impala查询不到
解决方法:
1)重新启动impala服务
2)INVALIDATE METADATA [table_name]
3)REFRESH table_name
INVALIDATE METADATA:让元数据过期腐败不可用,当表重新引用的时候重新加载。缺点:该语句是重量级的,比较耗时。该特性来自与Impala的1.1版本
REFRESH:刷新表的元数据,必须跟上表名这个参数(确定)。实时的,轻量级的(优点)
因此当需要更新大量元数据时使用INVALIDATE METADATA(不加表名) 。否则优先使用REFRESH。
3、新加的表,impala查询不到
解决方法:
把/etc/hadoop/conf 下的core-size.xml,hdfs-site.xml, /etc/hive/conf 下的hive-site.xml 拷贝到/etc/impala/conf下。再重启impala服务
4、新加的库,impala查询不到
解决方法:重启impala服务
5.impala和hive相比,不支持的sql
- 非标量数据类型如 maps, arrays, structs
- 可扩展机制(Extensibility mechanisms)例如 TRANSFORM, 自定义文件格式, 或自定义 SerDes; z Impala 1.2
- XML 和 JSON 函数
- HiveQL 中的某些聚合函数: variance, var_pop, var_samp, stddev_pop, stddev_samp, covar_pop, covar_samp, corr, percentile, percentile_approx, histogram_numeric,collect_set; Impala 支持这些聚合函数: MAX(), MIN(), SUM(), AVG(), COUNT()
- 用户定义产生表函数(User Defined Table Generating Functions,UDTFs)
- 采样
- Lateral views
- 授权功能如角色
-
一个查询中多个 DISTINCT 子句(Multiple DISTINCT clauses per query)
Impala 当前不支持这些 HiveQL 语句:
- ANALYZE TABLE (在 Impala 有等价的 COMPUTE STATS)
- DESCRIBE COLUMN
- DESCRIBE DATABASE
- EXPORT TABLE
- IMPORT TABLE
- SHOW PARTITIONS
- SHOW TABLE EXTENDED
- SHOW INDEXES
- SHOW COLUMNS
- 时区问题:
默认impala配置不是中国的时区,所以在用from_unixtime的时候,有误差。
解决方案:impala启动时加 -use_local_tz_for_unix_timestamp_conversions=true在cdh里面,impala->配置->mpala Daemo ->Impala Daemon 命令行参数高级配置代码段(安全阀) 加 -use_local_tz_for_unix_timestamp_conversions=truen
- 在集群增加新机器之后,hue中无法使用impala,提示连接不上21050,
解决方法: 在hue高级域中,增加如下配置:
[impala]
server_host=10.160.33.21
server_port=21050 - impala多个distinct查询的问题解决
http://stackoverflow.com/questions/39236076/impala-all-distinct-aggregate-functions-need-to-have-the-same-set-of-parameters - impala重启不了
解决方法:重启 scm-agent 命令: /etc/init.d/cloudera-scm-agent restart,在启动impala