1.数据加载 - LOAD 语法
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename;
操作: 建表
CREATE TABLE myhive.test_load(
dt string comment ' 时间(时分秒) ',
user_id string comment ' 用户 ID',
word string comment ' 搜索词 ',
url string comment ' 用户访问网址 '
) comment ' 搜索引擎日志表 ' ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';
注意,基于 HDFS 进行 load 加载数据,源数据文件会消失(本质是被移动到表所在的目录中)
命令:load data local inpath '/home/wtk/search_log.txt' into table test_load;
select查看:
方式2:
数据加载 - INSERT SELECT 语法
INSERT [OVERWRITE | INTO] TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1 FROM from_statement
操作:insert into myhive.test_load1 (select * from test_load);
select查看:一样的数据在新表
3.hive 表数据导出 - insert overwrite 方式
语法: insert overwrite [local] directory ‘path’ select_statement1 FROM from_statement
导出到本地Linux:
insert overwrite local directory '/home/wtk' row format delimited fields terminated by '\t' select * from test_load;
查看:
方式2:hive 表数据导出 - hive shell
基本语法:( hive -f/-e 执行语句或者脚本 > file )
bin/hive -e "select * from myhive.test_load;" > /home/wtk/1.txt
注意事项:使用 LOAD 语句:• 数据来源本地,本地数据文件会保留,本质是本地文件上传到表里
• HDFS 据来自 HDFS ,加载后文件不存在,本质是在 HDFS 上进行文件移动