hive常见命令

hive 常见命令

$>!clear ;  #清屏 
$>!dfs -lsr / ; hive 执行dfs命令    

1.查看所有数据库:

$>show databases ; 查看所有数据库
OK
default
Time taken: 1.693 seconds, Fetched: 1 row(s)

我们发现只有一个default库;于是我们使用default 数据库;

2.使用数据库:

hive> use default ;  
OK  
Time taken: 0.037 seconds  

3.创建数据库:

hive> create database dailiang ;
OK
Time taken: 0.076 seconds

hive> show databases ;
OK
dailiang
default
Time taken: 0.016 seconds, Fetched: 2 row(s)

4.删除数据库:

删除数据库的时候,不允许删除有数据的数据库,如果数据库里面有数据则会报错。如果要忽略这些内容,则在后面增加CASCADE关键字,则忽略报错,删除数据库。

hive> drop database dailiang cascade ;
OK
Time taken: 0.11 seconds

5.查看表数据:

直接查看表数据:    
hive> show tables in default ;
OK
ismassetinfo
ismproinfo
ismsecuinfo
Time taken: 0.017 seconds, Fetched: 3 row(s)

或者直接使用
use 数据库;
show tables ;

也可以使用正则表达数来看表数据
show tables like 'is*'

6.查看表数据

select * from ismproinfo ;

7.创建一个表

create table `dailiang_test`( name string , age int , sex string ,status string ) ;

8.查看表结构

hive> desc dailiang_test ;
OK
name                    string                                      
age                     int                                         
sex                     string                                      
status                  string                                      
Time taken: 0.046 seconds, Fetched: 4 row(s)

9 .查看建表语句

hive> show create table dailiang_test ;
OK
CREATE TABLE `dailiang_test`(
  `name` string, 
  `age` int, 
  `sex` string, 
  `status` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://ns-upid/user/hive/warehouse/dailiang.db/dailiang_test'
TBLPROPERTIES (
  'transient_lastDdlTime'='1501812307')
Time taken: 0.046 seconds, Fetched: 15 row(s)

10.生产环境查看建表语句

hive> show create table ismproinfo ;
OK
CREATE TABLE `ismproinfo`(
  `hash` string, 
  `innercode` string, 
  `secucode` string, 
  `ismcode` bigint, 
  `propabegindate` string, 
  `propaenddate` string, 
  `raisebegindate` string, 
  `raiseenddate` string, 
  `prorundate` string, 
  `prostopdate` string, 
  `maxstoresum` float, 
  `mininvestshare` float, 
  `acreturn` float, 
  `expreturn` float, 
  `levelrisk` smallint, 
  `createtime` string, 
  `status` smallint, 
  `slicecycle` smallint, 
  `risknum` float, 
  `classnum` smallint, 
  `stocknum` smallint, 
  `signum` smallint)
PARTITIONED BY ( 
  `dt` string)
ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY '|' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://ns-upid/user/hive/warehouse/ismproinfo'
TBLPROPERTIES (
  'transient_lastDdlTime'='1476858329')
Time taken: 0.209 seconds, Fetched: 35 row(s)

hive 导出数据

导出hive 数据到本地目录

首先在本地创建目录:

mkdir /hive_shuju
cd /hive_shuju
touch a.txt 
echo 123 > a.txt 

以下内容可以在hive中通过hive 的 shell命令进行查看

hive> !ls /hive_shuju;
a.txt
hive> !cat /hive_shuju/a.txt;
123

导出命令:(生产环境例子)

hive> insert overwrite local directory '/hive_shuju' select * from ismsecuinfo;

进入/hive_shuju目录:
发现多了好多文件:
000000_0  000002_0  000004_0  000006_0  000008_0  000010_0  000012_0  000014_0  000016_0  000018_0  000020_0
000001_0  000003_0  000005_0  000007_0  000009_0  000011_0  000013_0  000015_0  000017_0  000019_0

(ismsecuinfo 是个hive表,/hive_shuju 是linux 操作系统的一个目录)

注释: 一个或多个文件会被写入到/hive_shuju,具体个数取决于reducer的个数。
不管在源表中数据实际是怎么存储的,hive会将所有的字段序列化成字符串写入到文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值