赞
踩
编程 -->数据 + 运算(JAVA SQL)
hive:数据查看工具,不是数据库 服务(HQL -->MR)
核心组件
数据(结构,位置) -->hdfs
表(结构 数据类型) 元数据 -->mysql
插入数据 insert方式
1建表
2插入数据
每次insert会在hdfs中生成一个小文件
insert into tb_xxxx values(1,“zss”)
insert into tb_xxx values(1, “lss”),(2,“ls”)…;
将后面的select运算结果保存到某个表中
****insert into tb_xxxx1 select id_10, name from tb_xxxx;
插入覆盖表
insert overwrite table tb_xxxx1 select id+10, nmae from tb_xxxx;
插入数据 as select 方式
将结果数据直接保存到一个新表中 全量
create table if not exists tb_name as select id, name from tb_xxxx;
create table if not exists tb_new
as select
cate,
avg(price) as avg_price
from tb_product
group by cate;
加载数据 import(不常用)
对数据有要求,必须是先用export导出的数据才能导入
导出数据到HDFS中
export table tb_product to “/user/hive/warehouse/export/name”;
导入数据方式
import table tb_name from “/user/hive/warehouse/export/product”;
数据导出
1)数据导出到本地
将查询的结果导出到本地
insert overwrite local directory “/opt/xxxxxx” select * from tb_name;
将查询的结果格式化导出到本地
insert overwrite local directory “/opt/xxxxx”
row format delimited fields terminated by “/t” select * from tb_name;
2)数据导出到HDFS
没有指定分隔符
insert overwrite directory “/opt/xxxxxx” select * from tb_name;
指定分隔符 格式化
insert overwrite directory “/opt/xxxxx”
row format delimited fields terminated by “/t” select * from tb_name;
3)使用HDFS提供的命令
1)hdfs dfs -get xxxxx
2)hive命令行中 dfs -get /user/hive/warehouse/db_name/tb_name/0000_0 /hive/phone
4)shell hive命令导出
hive -e “user db_name;select * from tb_name;” >> /opt/xxxx.txt;
hive -f hive.sql(将sql命令写到文件中)
使用hive
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。