Impala SQL

简介:

 

 

 

 

 

 

 

 

 

 

 

 

    其实,跟hive差不多,大家可以去参考我写的hive学习概念系列。

 

 

 

 

 

 

 

Impala SQL VS HiveQL

  下面是Impala对基础数据类型和扩展数据类型的支持

  

  

  • 此外,Impala不支持HiveQL以下特性:
– 可扩展机制,例如:TRANSFORM、自定义文件格式、自定义SerDes
– XML、JSON函数
– 某些聚合函数:
• covar_pop, covar_samp, corr, percentile, percentile_approx,histogram_numeric, collect_set
• Impala仅支持:AVG,COUNT,MAX,MIN,SUM
– 多Distinct查询
– HDF、UDAF
– 以下语句:
ANALYZE TABLE (Impala:COMPUTE STATS)、DESCRIBE COLUMN、
DESCRIBE DATABASE、EXPORT TABLE、IMPORT TABLE、SHOW
TABLE EXTENDED、SHOW INDEXES、SHOW COLUMNS

 

 

 

 

Impala SQL

复制代码
--创建数据库
create database db1;
use db1;
 
-- 删除数据库
use default;
drop database db1;
 
--创建表(内部表)
-- 默认方式创建表:
create table t_person1(
id int,
name string)
 
--指定存储方式:
create table t_person2(
id int,
name string
)
row format delimited
fields terminated by ‘\0’ (impala1.3.1版本以上支持‘\0’ )
stored as textfile;
 
--其他方式创建内部表
--使用现有表结构:
create table tab_3 like tab_1;
 
--指定文本表字段分隔符:
alter table tab_3 set serdeproperties(‘serialization.format’=‘,’,’field.delim’=‘,’);
 
--插入数据
-- 直接插入值方式:
insert into t_person values (1,hex(‘hello world’));
 
--从其他表插入数据:
insert (overwrite) into tab_3 select * form tab_2 ;
 
--批量导入文件方式方式:
load data local inpath ‘/xxx/xxx’ into table tab_1;
 
--创建表(外部表)
--默认方式创建表:
create external table tab_p1(
id int,
name string
)
location ‘/user/xxx.txt’
 
--指定存储方式:
create external table tab_p2 like parquet_tab
‘/user/xxx/xxx/1.dat’
partition (year int , month tinyint, day tinyint)
location ‘/user/xxx/xxx’
stored as parquet;
 
--视图
--创建视图:
create view v1 as select count(id) as total from tab_3 ;
 
--查询视图:
select * from v1;
 
--查看视图定义:
describe formatted v1 
复制代码

 

 

• 注意:
– 1)不能向impala的视图进行插入操作
– 2)insert 表可以来自视图
• 数据文件处理
– 加载数据:
• 1、insert语句:插入数据时每条数据产生一个数据文件,不建议用此方式加载批量数据
• 2、load data方式:再进行批量插入时使用这种方式比较合适
• 3、来自中间表:此种方式使用于从一个小文件较多的大表中读取文件并写入新的表生产少量的数据文件。也可以通过此种方式进行格式转换。
– 空值处理:
• impala将“\n”表示为NULL,在结合sqoop使用是注意做相应的空字段过滤,
• 也可以使用以下方式进行处理:
alter table name set tblproperties(“serialization.null.format”=“null”)



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6785696.html,如需转载请自行联系原作者

相关文章
|
SQL 分布式计算 Hadoop
Hive使用Impala组件查询(1)
Hive使用Impala组件查询(1)
412 0
|
SQL 存储 NoSQL
Kudu 整合 impala-shell 操作 | 学习笔记
快速学习 Kudu 整合 impala-shell 操作
639 0
Kudu 整合 impala-shell 操作 | 学习笔记
|
SQL 存储 Java
Hive使用Impala组件查询(2)
Hive使用Impala组件查询(2)
142 0
|
SQL HIVE 索引
Hive和Impala中substring用法差异
Hive和Impala中substring用法差异
278 0
|
SQL 数据采集 分布式计算
基于Spark SQL的数据探索
基于Spark SQL的数据探索
|
SQL 分布式计算 Java
KuduSpark_Impala 访问 Kudu | 学习笔记
快速学习 KuduSpark_Impala 访问 Kudu
315 0
KuduSpark_Impala 访问 Kudu | 学习笔记
|
SQL Java 数据库连接
JDBC 操作 impala | 学习笔记
快速学习 JDBC 操作 impala
1020 0
JDBC 操作 impala | 学习笔记
|
SQL 存储 Java
Kudu 整合 impala-java 操作 | 学习笔记
快速学习 Kudu 整合 impala-java 操作
439 0
Kudu 整合 impala-java 操作 | 学习笔记
Impala——1.概述
标签(空格分隔): Impala Impala是什么 官方论文 Impala对存储在HDFS,HBase的Apache Hadoop数据和存储在Amazon S3上的数据提供快速,交互式的SQL查询。
1699 0