Impala是Cloudera开发、开源的一个原生于Hadoop的交互式SQL引擎。本身Impala的出现并不是为了替代Hive、Pig等现有的、常用的ETL工具。实用的场景往往于商业智能密不可分,比如对数据进行聚合(Aggregation)、做一些简单的分析统计(比如window function),通过JDBC/ODBC,集成到当今流行的BI工具中,例如Tableau等等。
这篇博文主要来探讨下关于Impala日常使用过程中的需要注意的点,不得不强调的是对于SQL的运行,一方面我们的确需要关注SQL本身的执行性能,比如多久可以执行完毕;但是,SQL的并发更是一个关键的考察点,毕竟我相信对于大部分生产上的集群,用户不止一位,任务也不止一个。另外,随着服务器标配的内存数日益增长,128GB、256GB的机器屡见不鲜,对于如何更加高效使用CPU会成为下一个热点 (CPU Efficiency)。
这一步一般是默认需要做的,在Impala中,定义Parquet格式数据表的示例: