create database review01; use review01; -- 一.内外部表的操作 --1.内部表操作 --创建的三种方式: create table stu(id int,name string); insert into stu values (1,'张三'); create table stu1 like stu; create table stu2 as select * from stu; --删除内部表 drop table stu2; --查看内部表结构 desc formatted stu; --清空表数据 truncate table stu1; --2.外部表的操作,注意:外部表不能用as创建和truncate删除,因为对数据没有绝对控制权限 --创建的两种方式 create EXTERNAL table pp(id int,name string); create EXTERNAL table pp1 like pp; --删除外部表 drop table pp1; --查看外部表结构 desc formatted pp; --二.查看表和修改表 --1.查看表 show databases;--查看所有表 show create table pp;--查看建表语句 desc pp;--查看表信息 desc formatted pp;--查看表结构 --2.修改表 alter table pp rename to ps;--修改表名 alter table ps set location 'hdfs中存储路径';--修改表的存储路径.如果路径不存在,会在插入数据的时候创建 alter table ps set tblproperties ('c'='v');--修改表的属性 alter table ps set tblproperties ('EXTERNAL'='FALSE');--外部表改为内部表 alter table stu1 set tblproperties ('EXTERNAL'='TRUE'); --内部表改为外部表 alter table ps add columns (pid int);--增加字段 alter table stu replace columns (id int,name varchar(100));--替换字段 alter table ps change pid product string;--更改字段名 --三.默认分隔符和指定分隔符并快速映射表 --默认分隔符一般是/0001,□,SOH create table tz( dt string,id string,name string,url string ) row format delimited fields terminated by '\t';--指定分隔符 load data inpath '/search_log.txt' into table tz;--快速加载表,本质是移动,原文件会消失 select * from tz limit 5;--验证表 -- 四.Hive数据的导入和导出 --导入/加载 load data local inpath '/search_log.txt' into table tz1;--从linux导入到hive表中,原文件保留 load data inpath '/user/hive/warehouse/review01.db/tz2' overwrite into table tz3;--从hdfs一个表导入到另一个表,原数据会消失,同时覆盖新表中数据 insert into table tz select * from tz1;--从其他表中加载数据 insert overwrite table tz3 select * from tz1;--从其他表中覆盖加载数据 --导出 insert overwrite local directory '/home' select * from tz;--从hive导出到linux,默认分隔符,保证目录是空的 insert overwrite local directory '/home' row format delimited fields terminated by '-' select * from tz;--指定分隔符 insert overwrite directory '/output' row format delimited fields terminated by '/' select * from tz;--从hive导出到hdfs --bin/hive -e "select * from myhive.test_load;" > /home/hadoop/export3/export4.txt--在linux输入导出hive数据 --bin/hive -f export.sql > /home/hadoop/export4/export4.txt --脚本输出