大家好,我是百思不得小赵。
创作时间:2022 年 7 月 5 日 博客主页: 🔍点此进入博客主页 —— 新时代的农民工 🙊 —— 换一种思维逻辑去看待这个世界 👀
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。----来源于百度百科
Impala核心能力
Impala是性能最高的SQL引擎(提供类似RDBMS的体验),它提供了访问存储在Hadoop分布式文件系统中的数据的最快方法。Impala 可以实现快速查询。
Impalad: Impala 核心组件,运行在各个数据节点上面, 守护进程 Impala daemon,它负责接收从 impala-shell、Hue、JDBC、ODBC 等接口发送的查询语句,解析 SQL 语句并执行查询任务,任务完成返回结果给到客户端。Impalad 内部是由 Query Planner、Query Coordinator 和 Query Executor 三部分组成:。
State Store: 负责检查集群各个节点上 Impala daemon 的健康状态,同时不间断地将结果反馈给各个 Impala daemon。守护进程 :statestored,整个集群只运行一个进程。
Catalogd: 负责元数据管理,可以从 Hive 元数据库中提取更新元数据给其他组件,也能将元数据变化通知给集群的各个节点,
连接 Impala
impala-shell -i data -s xxx -d rawdata -k
-d:指定数据库登录
-i:指定 impalad 登录,这个一般在 元数据节点连接 impala 的时候,要指定
-k:如果启用 kerberos,则需要指定
-s:指定 kerberos 登录的账号,如果不指定,默认账号是 “impala” ,如果混部 kerberos 场景下,客户给我们的 principal 是 sa_cluster,那就要指定 -s 为 sa_cluster
-q:直接执行 sql 语句,不用进入 impala-shell 环境
-o:查询结果输出到指定文件