
1. Impala 能够使用 Hive 的内嵌函数,比如聚合函数(如 variance, var_pop, var_samp, stddev_pop, stddev_samp, covar_pop, covar_samp, corr, percentile, percentile_approx, histogram_numeric, collect_set 等)以及用户定义的表生成函数(UDTFs)。
2. Impala 支持非标量数据类型(如 maps, arrays, structs)和可扩展机制(例如 TRANSFORM、自定义文件格式或自定义 SerDes)。
3. 在 HiveQL 中,某些语句如 ANALYZE TABLE(Impala 中使用等价的 COMPUTE STATS)、DESCRIBE COLUMN、DESCRIBE DATABASE、EXPORT TABLE、IMPORT TABLE、SHOW PARTITIONS、SHOW TABLE EXTENDED、SHOW INDEXES、SHOW COLUMNS 在 Impala 中可能不被支持或语义不同。
4. Impala 在执行 SORT BY、DISTRIBUTE BY 或 CLUSTER BY 时不会使用 MapReduce,且在某些情况下与 Hive 中 SQL 语句和子句的语义存在差异。
5. 在 Impala 中,查询可能不需要 FROM 子句,并且支持有限的隐式类型转换,以避免意外的转换行为。
6. Impala 不进行某些隐式类型转换,例如 string 与 numeric 或 Boolean 之间,numeric 或 string 到 timestamp 之间。
7. Impala 不使用本地时区保存时间戳,以避免因时区溢出导致的意外结果。
8. Impala 不会为溢出列返回 NULL,而是返回数据类型的最大或最小值,使得用户可以区分 NULL 数据和溢出数据。
9. Impala 不提供虚拟列,也不公开锁和某些配置属性。详情