命令:完成操作

hive:进去hive

show databases:显示 所有database

use wizad: 使用database wizad,或者如use aso

show tables:显示当前database下的所有表

show columns from table_name from database_name; 或show columns from database_name.table_name; :显示表中列名称

show grants for user_name@localhost;:显示一个用户的权限,显示结果类似于grant 命令

show index from table_name;:显示表的索引

show logs;:显示BDB存储引擎的日志

show warnings;:显示最后一个执行的语句所产生的错误、警告和通知

show errors;:只显示最后一个执行语句所产生的错误

desc table_name:显示表信息(字段、分区)

desc formatted wizad_mdm_raw_hdfs;:显示表详细信息  (字段、分区、路径、格式等)

效果如下:

limit使用:

select * from app_data limit 100;

count:

select count(*) from app_data;

count非常耗费时间,下面有个别人写的小例子。

SELECT type ,

count(*) ,

count(DISTINCT u) ,

count(CASE WHEN plat=1 THEN u ELSE NULL) ,

count(DISTINCT CASE WHEN plat=1 THEN u ELSE NULL) ,


count(CASE WHEN (type=2 OR type=6) THEN u ELSE NULL) ,


count(DISTINCT CASE WHEN (type=2 OR type=6) THEN u ELSE NULL)


FROM t WHERE dt in ("2012-1-12-02", "2012-1-12-03")

GROUP BY type

ORDER BY type ;

hive表按partition查询,效率高:

show partitions table_name;:显示表table_name分区

show partitions wizad_mdm_raw_hdfs; :

day=2014-12-20/adn=3

day=2014-12-21/adn=3

day=2014-12-21/adn=5

descformatted t2 partition (pt = '2014-10-17');:查看分区属性

建分区两种:

1,建表时建分区:

CREATE TABLE tab(

column1 STRING,

columnN STRING

) partitioned BY (day STRING);



2,在已存在表上加分区:

alter table wizad_mdm_raw_hdfs add partition (day='2014-12-20',adn='3') location '/user/wizad/data/wizad/raw/2014-12-20/3_1/';

alter table wizad_mdm_raw_hdfs add partition (day='2014-12-20',adn='5') location '/user/wizad/data/wizad/raw/2014-12-20/5_1/';

删除分区:

ALTER TABLE wizad_mdm_raw_hdfs DROP PARTITION (day='2014-12-23',adn='3');

ALTER TABLE wizad_mdm_raw_hdfs DROP PARTITION (day='2014-12-23',adn='5');

修改表

ALTER TABLE old_table_name RENAME TO new_table_name;:重命名

ALTER TABLE tab1 ADD COLUMNS (c1 INT, c2 STRING);:添加字段

创建外部表:

CREATE EXTERNAL TABLE wizad_mdm_dev_lmj_mapping_cookie (

cookie_id STRING,

guid STRING 

) ROW FORMAT DELIMITED 

FIELDS TERMINATED BY ',' 

LINES TERMINATED BY '\n'

stored as textfile 

location '/user/wizad/tmp/mapping_cookie/';

格式是:

CREATE EXTERNAL TABLE tab (

column1STRING,

column2STRING,

column3STRING,

column4STRING,

columnNSTRING

) ROW FORMATDELIMITED

FIELDSTERMINATED BY '\t'

stored astextfile

location'hdfs://namenode/tmp/lmj/tab/';

hive语句执行环境相关参数设定:

SET mapred.job.queue.name=queue3;

SET hbase.client.scanner.caching=5000;

SET hbase.zookeeper.quorum=datanode06,datanode07,datanode08;

set zookeeper.znode.parent=/hbase;

set hbase.regionserver.lease.period=180000;

将查询结果保存到本地

INSERT OVERWRITE LOCAL DIRECTORY '/home/wizad/lmj/'

ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 

select cookie_id,rowkey,fixeddim_map

from wizad_mdm_main_from_hbase as a JOIN wizad_mdm_dev_lmj_edition_20141120 as w 

ON (w.guid = a.rowkey);

hive语句性能优化:http://wenku.baidu.com/link?url=eahFKmcvJ08Jj0K8lL6D7Q-6WNwSPlUUzz96MFLDRd0dGwlZEkVvMSwP2RaGtfbvI6dSdBBInTIfBEQXh6iW40COgIFiWkIc1KDHVlNGA_i

这里有一个优化的小例子:http://www.myexception.cn/internet/477451.html

hive使用过的基本命令的更多相关文章

  1. Hive基本命令整理

    创建表: hive> CREATE TABLE pokes (foo INT, bar STRING);          Creates a table called pokes with t ...

  2. Hive基本命令解析

    1. Hive的分区作用 命令:创建分区 create table t_sz_part(id int, name string) partitioned by (country string) row ...

  3. Hive shell 基本命令

    首先连接 hive shell 直接输入 hive启动, 使用--开头的字符串来表示注释 hive>quit; --退出hive hive> exit; --exit会影响之前的使用,所以 ...

  4. Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》

    一.什么是sqoop Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ...

  5. Hive基础概念、安装部署与基本使用

    1. Hive简介 1.1 什么是Hive Hives是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.2 为什么使用Hive ① 直接使用 ...

  6. docker安装hive笔记

    前两篇文章介绍了docker的基本命令如何安装hadoop 那么大家会比较了解docker的基本语法的安装过程.那么咱们今天来一起安装一下hive. 安装 1.下载gitHub,地址:https:// ...

  7. Hive/hbase/sqoop的基本使用教程~

    Hive/hbase/sqoop的基本使用教程~ ###Hbase基本命令start-hbase.sh     #启动hbasehbase shell      #进入hbase编辑命令 list  ...

  8. Hive Shell 命令详解

    Hive服务介绍 Hive默认提供的cli(shell)服务,如果需要启动其他服务,那么需要service参数来启动其他服务,比如thrift服务.metastore服务等.可以通过命令hive -- ...

  9. Hive 1.2.1&Spark&Sqoop安装指南

    目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.2. 创建Hive元数据库 4 5. 安装步骤 5 5.1. 下载Hiv ...

随机推荐

  1. Android自定义处理崩溃异常

    用过安卓手机的用户以及安卓开发者们会时长碰到程序异常退出的情况,普通用户遇到这种情况,肯定非常恼火,甚至会骂一生垃圾软件,然后卸载掉.那么开发者们在开发过程中遇到这种情况给怎么办呢,当然,你不可能世界 ...

  2. GDAL 2.0版本RPC校正速度测试

    GDAL2.0版本的更新日志中提到了对RPC校正的优化,今天测试了一下,发现提升的速度还是蛮快的,测试的数据是一个IRS-P5的数据. 单线程测试 首先使用一个线程进行测试,使用下面的批处理进行运行, ...

  3. Latex居中

    居中文本 环境:\begin{center} 第一行\\第二行\\...第n行 \end{center}.可以用\\[长度]来插入可以省略的额外行间距.在一个环境内部,可以用命令\centering来 ...

  4. Android反编译 -- 错误代码还原

    PS:如果阅读体验不好,可以尝试Github版 (<-点左边) 1. setColor(-16777216) 反编译的代码中会有很多setColor(int)的情况,比如setColor(-16 ...

  5. Android必知必会-使用okhttp的PUT方式上传文件

    注:如果移动端排版有问题,请看 简书版 (<-点击左边),希望CSDN能更好的支持移动端. 背景 公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp ...

  6. ExtJS学习(二)Ext组件模型

    Ext中所有的组件都继承自Ext.component,这种单根继承的模型保证所有组件都拥有相同的通用方法与生命周期,这样在后续对这些组件进行维护管理时将更加便捷,同时也保证了在进行布局时的便利. 组件 ...

  7. MySQL输入密码后闪退,这里有解

    不知道怎么的,我的MySQL就像抽风了一样,可能是不想理我了吧.只要我输入密码,它就会闪退.而且使用其他的数据库管理工具也是链接不成功的.于是下决心,调教调教它,于是有了下面的这些解决方案. 解决方法 ...

  8. Oracle使用游标为所有用户表添加主键语句

    应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在I ...

  9. [Mysql]备份同库中一张表的历史记录 insert into ..select

    需求 现在有个这么一个需求,mysql中有个表,数据增长的很快,但是呢这个数据有效期也就是1个月,一个月以前的记录不太重要了,但是又不能删除.为了保证这个表的查询速度,需要一个简单的备份表,把数据倒进 ...

  10. 自定义android 4.0以上的对话框风格

    做个笔记,这里是Dialog的风格,如果是用AlertDialog创建的,不能直接用.在styles.xml的写法: <style name="DialogWindowTitle&qu ...