impala是基于hive并使用内存进行计算,兼顾数据仓库,具有实时,批处理,多并发等优点。它是一个用C++和Java编写的开源软件。Impala是性能最高的SQL引擎。
【相同点】
建表、删除表和清空表的方式几乎和mysql类似。
新增语句和查询语句和mysql类似。
【不同点】
**分页语句不一样。**举个栗子,impala的分页语句是SELECT * from student order by age limit 10 offset 0。
impala不支持delete和update语句,必须配合Kudu才能实现更新和删除数据的操作。
还有一种解决方案是用insert overwrite来反向删除操作。
举2个栗子:
mysql中删除操作:delete from student where age =3; 删除这个范围的数据。
impala中没有安装kudu的话是不能执行delete语句操作的,可以用 insert overwrite table student select * from student where age !=3; 保留不符合条件的记录。这种写法效率很低!
mysql中更新操作:update student set content =‘333’ where age =3;
impala中没有安装kudu的话是不能执行update语句操作的,可以用insert overwrite table student select * from student where age !=3 union all select name,age,‘content’,student_no,phone_no from student where age =3;这种写法效率很低!
insert overwrite:先清空表中的原有数据,再向表或静态分区中插入数据。