Impala相关操作上

 

  阅读目录

上一篇,我们介绍Impala的介绍及安装。

   下面我们开始继续进一步的了解Impala的相关操作。

数据库相关

一:创建

  在这里,数据库就是一个目录结构,当然对于的元数据还会持久化到关系型数据库。

create database dbtest;

二:查看

  可以查看当前可用的数据库。

show databases;

三:删除

  删除制定的数据库,会删除数据库中的表,及数据,hdfs文件。数据库对于的hdfs目录结构也会被删除。

drop database dbtest1;

四:切换当前数据库

  默认的是default数据库,切换了后,可以直接使用当前数据库中的表。

use dbtest;

 

表相关

一:创建

create table student
(
id string ,
name string ,
sex string ,
birthday timestamp
);

二:创建分区表

  分区表可以根据存放数据,这样在分析的时候,可以只使用对应分区的数据,可以大大的降低检索的数据量,提高分析性能。

create table student_p
(
id string ,
name string ,
sex string ,
birthday timestamp
)
partitioned by (year string,month string,day string);

  这里定义了year,month,day 这3层分区。

三:查看表明细

  显示表的元数据,包括列名,类型等等。

desc student;

 

 

  formatted参数可以显示更多信息,显示格式与hive类似。包括底层详细信息,创建时间,格式,hdfs文件位置等等。

desc formatted student_p;

四:查看当前数据库已有的表

show tables;

五:HDFS目录

  可以看到在dbtest.db的目录下有两个我们建好表的目录。

六:修改表

  ALTER TABLE 语句用来修改现有表的结构或属性。在 Impala 里,这是一个逻辑操作,更新了 Impala 和 Hive 共用的 metastore 数据库中表的元数据; ALTER TABLE 语句不会对实际的数据文件进行重写、移动等操作。因此,你可能需要相应的物理文件系统操作才能实现移动数据文件到不同的 HDFS 目录,重写数据文件来包含其他字段,或转换成不同的文件格式。

七:重命名表

alter table student rename to student1;

  对于内部表,这一操作实际地修改了包含数据文件的 HDFS 目录名;原始目录将不再存在。

八:增加列  

alter table student1 add columns (addr string);

九:替换列  

alter table student1 replace columns(id int,name string, sex string,tel int);

  当替换列时,原有列的定义都被废弃。你可能会在收到一组新的有不同数据类型或不同顺序的列的数据文件时使用这一技术(数据文件会被保留,因此当新列与旧列不兼容时,需要在执行进一步的查询前,使用 INSERT OVERWRITE 或 LOAD DATA OVERWRITE 语句替换所有的数据)。

可以看到。我们将原有列的结构,类型做了很大的替换。

十:修改列

  修改列可以改变列的名字和类型

alter table student1 change id idstr string;

十一:删除列

alter table student1 drop tel;

十二:修改文件格式

alter table student1 set fileformat parquet;

  因为本操作只是修改表的元数据,对现存的数据,你必须使用 Impala 之外的 Hadoop 技术对已有的数据进行转换。之后再在 Impala 中使用 INSERT 语句创建的数据将使用新的格式。你不能指定文本文件的分隔符;文本文件的分隔符必须是逗号。

十三:增加分区

alter table student_p add partition(year='2017',month='07',day='24');

  可以看到hdfs中student_p的下面有个3层目录结构。

重复上面增加分区的操作,分别添加22,23日的分区。

十四:删除分区

  删除day=22的分区。

alter table student_p drop partition(year='2017',month='07',day='22');

 可以看到该表只有23,24两个分区。hdfs对应的目录会被删除。所以该分区的实际文件也会被删除。

十五:查看表的统计状态

show table stats student_p;

  上述语句中使用到这个,可以看到每个分区的状态,如果有数据,还会统计行数,文件数,大小等等。

十六:查看表的列统计

show column stats student_p;

  

十七:采集表的统计

compute stats student_p;

  采集相关表和相关列的统计情况。COMPUTE STATS 语句是从底层向上构建,以提高可用性和用户友好度。你可以运行一个单独的 Impala COMPUTE STATS 语句来采集包括 table 和 column 的统计信息,而不是为表和列的统计信息分别运行 Hive ANALYZE TABLE 语句。

  COMPUTE STATS 也可以采集 HBase 表的信息。采集的 HBase 表的统计信息与 HDFS-backed 表的有所不同,但当 HBase 表执行连接查询时,统计信息仍被用于优化。
  COMPUTE STATS执行完后,这些统计信息被存放在 metastore 数据库中,可以为impala用来优化查询。

  

--------------------------------------------------------------------

  到此,本章节的内容讲述完毕。

系列索引

  【源】从零自学Hadoop系列索引

 
博文作者:mephisto

Impala-1的更多相关文章

  1. 安装Impala

    1.默认安装好hadoop并且能正常启动(只需hdfs即可)2.安装如下rpm包(需要root权限 注意顺序) bigtop-utils-0.7.0+cdh5.8.2+0-1.cdh5.8.2.p0. ...

  2. 《开源大数据分析引擎Impala实战》目录

    当当网图书信息: http://product.dangdang.com/23648533.html <开源大数据分析引擎Impala实战>目录 第1章  Impala概述.安装与配置.. ...

  3. 运行impala tpch

    1.安装git和下载tpc-h-impala脚步 [root@ip-172-31-34-31 ~]# yum install git [root@ip-172-31-34-31 ~]# git clo ...

  4. TPCH Benchmark with Impala

    1. 生成测试数据在TPC-H的官网http://www.tpc.org/tpch/上下载dbgen工具,生成数据http://www.tpc.org/tpch/spec/tpch_2_17_0.zi ...

  5. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  6. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  7. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  8. Hadoop 之Impala

    impala 是基于hive的大数据实时分析查询引擎,直接使用Hive的元数据库metadata意味着impala元数据都存储在hive的metadstore中并且impala兼容hive的 sql解 ...

  9. 在脚本中刷新impala元信息

    刷新impala元信息 impala-shell -q 'invalidate metadata' -i hslave1 impala-shell -q 'select count(*) from p ...

  10. java通过jdbc连接impala

    下载所需jar包:http://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-28.html 选择使用impalajdbc41版本 imp ...

随机推荐

  1. CDN初识

    CDN 全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层 ...

  2. centos7-mongodb3.4.6集群的搭建

    0.需要环境 安装包:mongodb-linux-x86_64-3.4.6.tgz 安装路径:/usr/mongodb 服务器: 192.168.177.131/132/133 mongos 2000 ...

  3. 【c学习-14】

    /*练习*/ #include int testFeiunction(b[],n){ b[1]=1; n=10; } int main(){ int a[10]={1,2,3,4,5}; int n= ...

  4. MongoDB学习(1)--安装,基本curd操作

    知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...

  5. struts2架构网站漏洞修复详情与利用漏洞修复方案

    struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开 ...

  6. STL 一些常用的STL函数(持续更新

    先说一下  一边要用到算法的东西一般要加#include<algorithm>头文件 一.栈和队列 1 栈 :一种线性表 特点  后进先出 头文件  #include<stack&g ...

  7. MyEclipse 上使用sping+hibernate+mysql

    以下为入门级别代码,高手请务见笑~ 我的MyEclipse 上spring最高版是3.* 而hibernate 最高版本是4.*     在做项目时用的都是最高版,于是代码写好之后调试报了个异常,居然 ...

  8. Spring配置文件一直报错的根源所在

    跳坑后的感悟总结 Spring在配置文件中经常会报XML错误,以下是几种常见的解决办法 方式一:打开eclipse-->Project-->Clean ;清除一下 方式二:查看xml配置文 ...

  9. “Code First Migrations ”工具【转】

    在本篇文章中,我们学习如何使用实体框架的“Code First Migrations ”(也称为代码先行功能)工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 默认情 ...

  10. P3527 [POI2011]MET-Meteors

    P3527 [POI2011]MET-Meteors 链接 整体二分! 代码 #include<bits/stdc++.h> using namespace std; typedef lo ...