Impala简单教程

  1. 进入impala shell
    impala-shell -i localhost --quiet
  2. 查看impala版本
    [localhost:21000] > select version();
  3. 查看数据库
    [localhost:21000] > show databases;
  4. 查看当前的数据库
    [localhost:21000] > select current_database();
  5. 列出当前数据库的表
    [localhost:21000] > show tables;
  6. 列出某个数据库的表
    [localhost:21000] > show tables in dwt
  7. 模糊查询某个数据库的表
    [localhost:21000] > show tables in dwt like 'vcc*';
  8. 进入某个数据库
    [localhost:21000] > use dwt;
  9. 显示一张表的结构
    [localhost:21000] > describe vcc_b_dept;
    或者
    [localhost:21000] > desc vcc_b_dept;
  10. 显示一张表的行数
    [localhost:21000] > select count(*) from vcc_b_dept;
  11. 显示某一列不同值的个数
    [localhost:21000] > select count(distinct dept_no) from vcc_b_dept;
  12. 显示dept_no is null的行数
    [localhost:21000]>select count(*) from vcc_b_dept where dept_no is null;
  13. 显示某一列10个不同的值
    [localhost:21000] > select distinct dept_no from vcc_b_dept limit 10;
  14. 创建数据库
    [localhost:21000] > create database test_impala;
  15. 显示数据库
    [localhost:21000] > show databases;
  16. 模糊查询数据库
    [localhost:21000] > show databases like 'test*';
  17. 创建一张表
    [bigdata1:21000] > create table t1 (x int);
  18. 将表移动到另一个数据库中
    [bigdata1:21000] > alter table t1 rename to test_impala1.t1;
  19. 添加数据到表里
    [bigdata1:21000] > insert into t1 values(1), (2), (3), (4);
  20. 执行函数
    [bigdata1:21000] > select min(x), max(x), sum(x), avg(x) from t1;
  21. join表
    [bigdata1:21000] > select word from t1 join t2 on t1.x = t2.id
  22. 删除表
    [bigdata1:21000] > drop table if exists tab1;
  23. 根据HDFS创建外表
    create external table tab1(id int, col_1 boolean,col_2 double,col_3 timestamp) row format delimited fields terminated by ',' location '/user/impala/sample_data/tab1';
  24. 创建表
    create table tab3(id int,col_1 boolean,col_2 double,month int,day int)row format delimited fields terminated by ',';
  25. 执行sql脚本
    impala-shell -i localhost -f customer_setup.sql
  26. 执行一条命令
    impala-shell -i impala-host -q 'select count(*) from customer_address'
  27. 汇总查询
    SELECT tab2.col_1, MAX(tab2.col_2), MIN(tab2.col_2) FROM tab2 JOIN tab1 USING (id) GROUP BY col_1 ORDER BY 1 LIMIT 5;
  28. 子查询
    select tab2.* from tab2, (select tab1.col_1, max(tab2.col_2) as max_col2 from tab2, tab1 where tab2.id = tab1.id group by col_1) subquery1 where subquery1.max_col2 = tab2.col_2;
  29. insert查询
    insert overwrite table tab3 select id, col_1, col_2, month(col_3), dayofmonth(col_3) from tab1 where year(col_3) = 2012;
  30. 创建分区表
    create table logs (field1 string, field2 string, field3 string) partitioned by (year string, month string, day string, host string);
  31. 加载数据到分区表
    insert into logs partition(year="2018", month="08", day="28", host="host1") values("foo1", "foo2", "foo3");
  32. 创建外表
    create external table external_logs (field1 string, field2 string, field3 string) partitioned by(year string, month string, day string, host string) location '/user/hive/warehouse/test_impala1.db/logs';
  33. 添加分区
    alter table external_logs add partition(year="2018", month="08", day="28", host="host1");
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 8,075评论 5 115
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,945评论 0 13
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 10,171评论 0 44
  • 总结: 今天第一天按新制度上班,由于老客户少,心里想着从基因检测入手来打陌生电话,所以今天大部分时间都在学习基因检...
    樱花树下_e526阅读 265评论 0 0
  • 今天是2018年11月9日,昨天晚上回来已经11点多了,回家后时间浪费了不少,所以昨天就没有写文章。 我想要养成一...
    飞翔快乐阅读 248评论 0 0

友情链接更多精彩内容