1、一般可以通过beeline(CDH默认是使用hive,就会进入hive操作窗口),代理方式登录hive;

2、使用数据库abc_hive_db:use abc_hive_db;

3、查看数据库中有哪些表:show tables ;有哪些特定表 show tables like '*tb_site*';

4、查看某张表的表结构:desc tablename;

方法2:查看表的字段信息及元数据存储路径
desc extended table_name;
方法3:查看表的字段信息及元数据存储路径
desc formatted table_name;
备注:查看表元数据存储路径时,推荐方法3,信息比较清晰。
二、查看表容量大小
方法1:查看一个hive表文件总大小时(单位为Byte),我们可以通过一行脚本快速实现,其命令如下:
--#查看普通表的容量
  1. $ hadoop fs -ls /user/hive/warehouse/table_name|awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a}'
这样可以省去自己相加,下面命令是列出该表的详细文件列表
  1. $ hadoop fs -ls /user/hive/warehouse/table_name
--#查看分区表的容量 
  1. $ hadoop fs -ls /user/hive/warehouse/table_name/yyyymm=|awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a/(**)}'
  2. 39.709
这样可以省去自己相加,下面命令是列出该表的详细文件列表
  1. $ hadoop fs -ls /user/hive/warehouse/table_name/yyyymm=
方法2:查看该表总容量大小,单位为G
  1. $ hadoop fs -du /user/hive/warehouse/table_name|awk '{ SUM += $1 } END { print SUM/(1024*1024*1024)}'

5、创建表:

  1. --OID,MSISDN,StartTime,EndTime,AP_MAC,ApAliasName,HotSpotName,Longitude,Latitude,Floor
  2. 0: jdbc:hive2://xxxxx/> create table tmp_wifi1109(OID string,MSISDN string,StartTime timestamp,
    EndTime timestamp,AP_MAC string,ApAliasName string,HotSpotName string,Longitude string,Latitude
    string,Floor string) row format delimited fields terminated by ',' stored as textfile;
  1. 表添加字段、修改、删除字段:
  1. ALTER TABLE name RENAME TO new_name
  2. ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
  3. ALTER TABLE name DROP [COLUMN] column_name
  4. ALTER TABLE name CHANGE column_name new_name new_type
  5. ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...]
  1. rows selected (3.608 seconds)
  2. : jdbc:hive2://10.178.152.162:21066/> alter table res_site_hangzhou add columns (cell_id_x16 string);
  3. No rows affected (1.985 seconds)
  4. : jdbc:hive2://10.178.152.162:21066/> desc res_site_hangzhou;
  5. +----------------------------+------------+----------+--+
  6. | col_name | data_type | comment |
  7. +----------------------------+------------+----------+--+
  8. | oid | int | |
  9. | objectid | int | |
  10. ....
  11. | cell_id_x16 | string | |
  12. +----------------------------+------------+----------+--+
  13.  
  14. : jdbc:hive2://10.178.152.162:21066/> alter table res_site_hangzhou change cell_id_x16 objectidx16 string;
  15. No rows affected (2.085 seconds)
  16. : jdbc:hive2://10.178.152.162:21066/> desc res_site_hangzhou;
  17. +----------------------------+------------+----------+--+
  18. | col_name | data_type | comment |
  19. +----------------------------+------------+----------+--+
  20. | oid | int | |
  21. | objectid | int | |
  22. ....
  23. | objectidx16 | string | |
  24. +----------------------------+------------+----------+--+

6、从hdfs文件中导入数据到表:

  1. 注意:tmp_wifi1109创建时格式要求设置:
    create table if not exists tmp_wifi1109(id int,name string) row format delimited fields terminated by ',' stored as textfile;
  1. 入库代码:
    0: jdbc:hive2://xxxx/> load data inpath 'hdfs:/user/xx_xx/dt/wifi_user_list_1109.csv' into table tmp_wifi1109;
  1. 0: jdbc:hive2://xxxx/> load data [local] inpath '/wifi_user_list_1109.csv' [overwrite] into table tmp_wifi1109;

7、把表之间关联的结果存储某张新建表:

  1. create table tmp_mr_s1_mme1109 as
  2. select distinct b.OID,b.MSISDN,b.StartTime,b.EndTime,b.AP_MAC,b.ApAliasName,b.HotSpotName,b.Longitude,b.Latitude,b.Floor,
    a.ues1ap_id,a.cellid
  3. from default.s1mme a join abc_hive_db.tmp_wifi1109 b on a.msisdn=b.MSISDN and a.hour>='' and a.hour<''
  4. where (
      (a.start_time<=b.StartTime and a.end_time>=b.StartTime)
      or (a.start_time<=b.EndTime and a.end_time>=b.EndTime)
      or (a.start_time>=b.StartTime and a.end_time<=b.EndTime)
    )

8、导出某张表中的记录到hdfs:

  1.  

set hive.merge.mapfiles=true;
  set hive.merge.mapredfiles=true;

set hive.merge.size.per.task= 1000000000;

  1. set hive.merge.smallfiles.avgsize= 1000000000;
  2. use abc_hive_db;
  3. insert overwrite directory '/user/dt/dat/1109/' row format delimited fields terminated by '|' select * from tmp_mr_s1_mme1109;
  4. -- 如果此时到出文件没有合并的情况下:可以使用getmerge来合并文件。
  1. hdfs dfs -getmerge /user/dt/dat/1100/* mergefile.csv

导出文件是指定分列格式:

  1. insert overwrite directory '/user/jr/dt/my_table'
  2. row format delimited fields terminated by '|'
  3. collection items terminated by ','
  4. map keys terminated by ':'
  5. select * from my_table

9、查看表分区字段:

  1. 0: jdbc:hive2://xxx/> show partitions default.s1_mme;
  2. +------------------------------------+--+
  3. | partition |
  4. +------------------------------------+--+
  5. | hour=2016110214 |
  6. | hour=2016110215 |
  7. | hour=2016110216 |
  8. ...
  9. +------------------------------------+--+
    如果某一个张表中包含多个分区字段例如(default.s1_mme包含两个分区(p_city,p_day)),那么当我们查看某个城市都有哪些天数据分区的时候就可以执行以下命令:
  1. 0: jdbc:hive2://xxx/> show partitions default.s1_mme partition(p_city='wuhan');
  1.  
 加载数据到某个分区下:
  1. load data local inpath '/sd/dataext' into table testPar partition(dt='');

参考信息:

hive partitions相关处理:http://blog.sina.com.cn/s/blog_9f48885501016hn5.html

http://blog.sina.com.cn/s/blog_9f48885501016k5m.html

Hive:常用的一些命令的更多相关文章

  1. Hive常用的SQL命令操作

    Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql的很相近,绝大多数相同的,可通过describe function functionN ...

  2. Hive常用非交互式命令

    [hadoop@hadoop hive-0.13.1]$ bin/hive -help usage: hive -d,--define <key=value> Variable subsi ...

  3. Hive 常用命令和语句

    示例数据库为 db_hive 1. 创建表 create-table.sql create table if not exists db_hive.tb_user ( id int, username ...

  4. HIve常用CLI命令

    1. 清楚屏幕:Ctrl+L 或者!Clear 最后加上分号 2. 查看数据仓库中的表:show tables; 3. 查看数据仓库中内置函数:show functions: 4. 查看表结构 :de ...

  5. [Hive_add_8] Hive 常用参数配置

    0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...

  6. Hive 学习之路(三)—— Hive CLI和Beeline命令行的基本使用

    一.Hive CLI 1.1 Help 使用hive -H或者 hive --help命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value ...

  7. Hive常用函数的使用

    Hive常用函数的使用 文章作者:foochane  原文链接:https://foochane.cn/article/2019062501.html 1 基本介绍 1.1 HIVE简单介绍 Hive ...

  8. Hive 系列(三)—— Hive CLI 和 Beeline 命令行的基本使用

    一.Hive CLI 1.1 Help 使用 hive -H 或者 hive --help 命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=va ...

  9. hive 常用操作

    参考:https://www.cnblogs.com/jonban/p/10779938.html Hive 启动:hive 退出:hive>quit; show databases; use  ...

随机推荐

  1. Tomcat中JVM内存溢出及合理配置及maxThreads如何配置(转)

    来源:http://www.tot.name/html/20150530/20150530102930.htm Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚 ...

  2. python base64的加密与解密

    Base64编码是一种“防君子不防小人”的编码方式.广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符. 优点:速度快,ascii字符, ...

  3. call()与apply()

    1.obj1.method1.call(obj2,argument1,argument2) call的作用就是把obj1的方法放到obj2上使用 2. add 来替换 sub,add.call(sub ...

  4. TTrayIcon用法

    TTrayIcon用法 self.trycn1.Icon:=Application.Icon; Self.trycn1.Hint:=self.Caption; self.trycn1.Visible: ...

  5. [转] 传统 Ajax 已死,Fetch 永生

    原谅我做一次标题党,Ajax 不会死,传统 Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代. 最近把阿里一个千万级 PV 的数据产品全部由 jQuery 的  ...

  6. PHP+MySQL+Easyui tree菜单从后台加载json数据(一)

    实现功能:从数据库加载出所有的数据库名,相应的数据库加载对应的数据库表名 原理:(首先看一下参考手册的内容) 异步加载Tree tree 支持内置的异步加载模式,用户创建一个空的tree,然后定义一个 ...

  7. Web服务器基础学习

    1)Socket通信相当于两个人通过电话联系,Http协议相当于电话联系时所使用的中文2)Http1.1前均为短连接,1.1版本为长连接,即服务器接收一次请求并发送响应后会等待一段时间看浏览器是否在这 ...

  8. React native 的弹出层(输入)效果

    /*弹出层测试*/ import React,{Component} from 'react'; import { StyleSheet, View, Image, Text, TouchableOp ...

  9. MySQL中INFORMATION_SCHEMA是什么?(2)

    information_schema数据库表说明: SCHEMATA:提供了当前mysql实例中所有数据库的信息.是show databases的结果取之此表. TABLES:提供了关于数据库中的表的 ...

  10. MySQL模糊查询

    第一种最土的方法:使用like语句第二种用全文索引 有两种方法,第一种最土的方法:使用like语句第二种听涛哥说用全文索引,就在网上搜一下: 如何在MySQL中获得更好的全文搜索结果 mysql针对这 ...