建立数据库
需要注意的是hive数据库每次只能存入一张表格,如果需要存入30张表格就必须运行30次命令。
特别说明:本文均使用的是
hive -f <name.hql>
hive -e '语句;'
#注意一定要有分号
#可以通过>保存到本地,或者是sz <filename> (下载)和rz(上传)
hive建表的时候有两种类型:内部表和外部表
内部表:会move分布式文件系统的原数据,并且删除schema。外部表使用external
--建立数据库,注意exists和分号
create database if not exists bike
comment 'created by eric';
-- 创建内部表,使用<database.tablename>
create table if not exists bike.bikeNK(
tripduration int, starttime string, stoptime string,
start_station_id string, start_station_name string, start_station_latitude float,start_station_longitude float,end_station_id string,end_station_name string,end_station_latitude float,end_station_longitude float ,
bikeid string,usertype string ,birth_year string,gender string)
row format delimited fields terminated by ','
stored as textfile;
数据库的默认位置为:
hadoop fs -ls /user/hive/warehouse/<database_name>
导入数据
--本地文件导入,使用的是本地的绝对路径:
use bike;
--使用overwrite into 可以重写表格
load data inpath '<hdfs路径>' into table bikenk;
本地系统执行单个语句
#注意:不要忘记分号
hive -e 'select * from <database.table>;'
#可以保存到本地
hive -e 'select * from bike.bikenk;' > bike.txt
删除数据库
drop database if exists <name of database>;
-- 如果数据库中存在表的话需要使用cascade
drop database if exists <name of database> cascade;