hive数据库存入mysql_hive 数据库操作

前提

用户已经成功配置了hadoop 的 hdfs 和 yarn 环境。

成功安装了hive。

通过hive shell 访问hive

直接通过hive 命令进入shell

AAffA0nNPuCLAAAAAElFTkSuQmCC

显示如上内容就表示已经成功进入hive shell 了。

hive 创建数据库$hive>create database mydb2 ;

$hive>use mydb2 ;

查看刚创建的数据库

AAffA0nNPuCLAAAAAElFTkSuQmCC

可以看到已经有了 mydb2 这个库了。

hive 创建表$hive>CREATE external TABLE IF NOT EXISTS t2(id int,name string,age int) COMMENT 'xx' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE ;

AAffA0nNPuCLAAAAAElFTkSuQmCC

删除表drop table t2;

AAffA0nNPuCLAAAAAElFTkSuQmCC

hive 插入数据

为了测试把刚才删除的表重新createinsert into t2(id,name,age) values(6,'moon',44);

AAffA0nNPuCLAAAAAElFTkSuQmCC

可以看到插入数据的过程是MapReduce 过程。

hive 查询数据

AAffA0nNPuCLAAAAAElFTkSuQmCC

hive 删除数据

AAffA0nNPuCLAAAAAElFTkSuQmCC

提示不能执行删除操作

这是因为Hive是不支持更新操作的,你可以这样子做,从Hive表中查询出你想保留的数据,并且输入到原来的表中。

执行如下操作insert overwrite table t2 select * from t2 where id != 6;

AAffA0nNPuCLAAAAAElFTkSuQmCC

再查看数据

AAffA0nNPuCLAAAAAElFTkSuQmCC

ok 已经删除了

hive load 数据

在linux 本地目录 编辑文件 customers.txt

AAffA0nNPuCLAAAAAElFTkSuQmCC

载入数据到hiveload data local inpath '/home/river/workspace/customers.txt' into table t2 ;

AAffA0nNPuCLAAAAAElFTkSuQmCC

通过 命令  hdfs dfs -lsr /user/hive    查看文件是否已经上传成功

可以看到 customers.txt 文件已经在t2 表中

AAffA0nNPuCLAAAAAElFTkSuQmCC

通过hive 查看 数据

AAffA0nNPuCLAAAAAElFTkSuQmCC

可以看到数据已经在表里。

因为数据是以文件的形式存在在hive中的,所以我们通过hdfs 看到是文件形式。

测试 是否可以通过put命令将文件直接put到hdfs内后,是否可以通过hive查询出来

通过命令将文件直接put到hdfs 的hive 目录下

AAffA0nNPuCLAAAAAElFTkSuQmCC

再查看

AAffA0nNPuCLAAAAAElFTkSuQmCC

ok 可以看到数据查询出来了。看来真的就是文件。而hive的load命令就是文件copy

作者:良人与我

链接:https://www.jianshu.com/p/4fdb10386109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值