Hive:常用的一些命令
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),我们可以通过一行脚本快速实现,其命令如下:--#查看普通表的容量$ hadoop fs -ls /user/hive/warehouse/table_name|awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a}'这样可以省去自己相加,下面命令是列出该表的详细文件列表$ hadoop fs -ls /user/hive/warehouse/table_name--#查看分区表的容量$ hadoop fs -ls /user/hive/warehouse/table_name/yyyymm=|awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a/(**)}'
39.709这样可以省去自己相加,下面命令是列出该表的详细文件列表$ hadoop fs -ls /user/hive/warehouse/table_name/yyyymm=方法2:查看该表总容量大小,单位为G$ hadoop fs -du /user/hive/warehouse/table_name|awk '{ SUM += $1 } END { print SUM/(1024*1024*1024)}'
5、创建表:
--OID,MSISDN,StartTime,EndTime,AP_MAC,ApAliasName,HotSpotName,Longitude,Latitude,Floor
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;
表添加字段、修改、删除字段:ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...]
rows selected (3.608 seconds)
: jdbc:hive2://10.178.152.162:21066/> alter table res_site_hangzhou add columns (cell_id_x16 string);
No rows affected (1.985 seconds)
: jdbc:hive2://10.178.152.162:21066/> desc res_site_hangzhou;
+----------------------------+------------+----------+--+
| col_name | data_type | comment |
+----------------------------+------------+----------+--+
| oid | int | |
| objectid | int | |
....
| cell_id_x16 | string | |
+----------------------------+------------+----------+--+ : jdbc:hive2://10.178.152.162:21066/> alter table res_site_hangzhou change cell_id_x16 objectidx16 string;
No rows affected (2.085 seconds)
: jdbc:hive2://10.178.152.162:21066/> desc res_site_hangzhou;
+----------------------------+------------+----------+--+
| col_name | data_type | comment |
+----------------------------+------------+----------+--+
| oid | int | |
| objectid | int | |
....
| objectidx16 | string | |
+----------------------------+------------+----------+--+
6、从hdfs文件中导入数据到表:
注意:tmp_wifi1109创建时格式要求设置:
create table if not exists tmp_wifi1109(id int,name string) row format delimited fields terminated by ',' stored as textfile;
入库代码:
0: jdbc:hive2://xxxx/> load data inpath 'hdfs:/user/xx_xx/dt/wifi_user_list_1109.csv' into table tmp_wifi1109;
0: jdbc:hive2://xxxx/> load data [local] inpath '/wifi_user_list_1109.csv' [overwrite] into table tmp_wifi1109;
7、把表之间关联的结果存储某张新建表:
create table tmp_mr_s1_mme1109 as
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
from default.s1mme a join abc_hive_db.tmp_wifi1109 b on a.msisdn=b.MSISDN and a.hour>='' and a.hour<''
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:
set hive.merge.mapfiles=true;
set hive.merge.mapredfiles=true;
set hive.merge.size.per.task= 1000000000;
set hive.merge.smallfiles.avgsize= 1000000000;
use abc_hive_db;
insert overwrite directory '/user/dt/dat/1109/' row format delimited fields terminated by '|' select * from tmp_mr_s1_mme1109; -- 如果此时到出文件没有合并的情况下:可以使用getmerge来合并文件。
hdfs dfs -getmerge /user/dt/dat/1100/* mergefile.csv
导出文件是指定分列格式:
insert overwrite directory '/user/jr/dt/my_table'
row format delimited fields terminated by '|'
collection items terminated by ','
map keys terminated by ':'
select * from my_table
9、查看表分区字段:
0: jdbc:hive2://xxx/> show partitions default.s1_mme;
+------------------------------------+--+
| partition |
+------------------------------------+--+
| hour=2016110214 |
| hour=2016110215 |
| hour=2016110216 |
...
+------------------------------------+--+
如果某一个张表中包含多个分区字段例如(default.s1_mme包含两个分区(p_city,p_day)),那么当我们查看某个城市都有哪些天数据分区的时候就可以执行以下命令:
0: jdbc:hive2://xxx/> show partitions default.s1_mme partition(p_city='wuhan');
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:常用的一些命令的更多相关文章
- Hive常用的SQL命令操作
Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql的很相近,绝大多数相同的,可通过describe function functionN ...
- Hive常用非交互式命令
[hadoop@hadoop hive-0.13.1]$ bin/hive -help usage: hive -d,--define <key=value> Variable subsi ...
- Hive 常用命令和语句
示例数据库为 db_hive 1. 创建表 create-table.sql create table if not exists db_hive.tb_user ( id int, username ...
- HIve常用CLI命令
1. 清楚屏幕:Ctrl+L 或者!Clear 最后加上分号 2. 查看数据仓库中的表:show tables; 3. 查看数据仓库中内置函数:show functions: 4. 查看表结构 :de ...
- [Hive_add_8] Hive 常用参数配置
0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...
- Hive 学习之路(三)—— Hive CLI和Beeline命令行的基本使用
一.Hive CLI 1.1 Help 使用hive -H或者 hive --help命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value ...
- Hive常用函数的使用
Hive常用函数的使用 文章作者:foochane 原文链接:https://foochane.cn/article/2019062501.html 1 基本介绍 1.1 HIVE简单介绍 Hive ...
- Hive 系列(三)—— Hive CLI 和 Beeline 命令行的基本使用
一.Hive CLI 1.1 Help 使用 hive -H 或者 hive --help 命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=va ...
- hive 常用操作
参考:https://www.cnblogs.com/jonban/p/10779938.html Hive 启动:hive 退出:hive>quit; show databases; use ...
随机推荐
- Js中caller和callee的区别
1 :caller 返回一个调用当前函数的引用 如果是由顶层调用的话 则返回null (举个栗子哈 caller给你打电话的人 谁给你打电话了 谁调用了你 很显然是下面a函数的执行 只有在打电话的时 ...
- alias实现命令别名
需要经常进入/srv/www/app/account这个目录,每次都得重复的输入这一长串路径进入该目录,显得麻烦而费时,因此可以将"cd /srv/www/app/account" ...
- Xcode修改storyboard大小
1: 2:
- apache配置多个版本php
参看链接:http://my.oschina.net/u/2366984/blog/543148?p={{page}} 主要虚拟主机配置信息 FcgidInitialEnv PHPRC "D ...
- 2015ACM/ICPC亚洲区沈阳站
5510 Bazinga 题意:给出n个字符串,求满足条件的最大下标值或层数 条件:该字符串之前存在不是 它的子串 的字符串 求解si是不是sj的子串,可以用kmp算法之类的. strstr是黑科技, ...
- 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】
作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...
- C#基础:委托
委托是C#中最为常见的内容.与类.枚举.结构.接口一样,委托也是一种类型.类是对象的抽象,而委托则可以看成是函数的抽象.一个委托代表了具有相同参数列表和返回值的所有函数.比如: delegate in ...
- 《Invert》开发日志05:终止
今天终于看了久闻大名的<独立游戏大电影>,然后我就做了一个坑爹的决定:终止“Invert”项目的开发.没错,在还没正式开工之前,我就决定停掉这个项目,而且是永久终止.做这个决定并不是因为觉 ...
- freecodecamp记录
来源:https://www.freecodecamp.cn 如果需要填充文本来检查排版效果,网上有自动生成器,乱文生成器:此外Microoft Word中有一个函数能够自动生成每段20句的6段填充文 ...
- EasyUI 页面分页
DAO package com.hanqi.dao; import java.util.ArrayList; import java.util.List; import org.hibernate.S ...