前提
用户已经成功配置了hadoop 的 hdfs 和 yarn 环境。
成功安装了hive。
通过hive shell 访问hive
直接通过hive 命令进入shell
显示如上内容就表示已经成功进入hive shell 了。
hive 创建数据库
$hive>create database mydb2 ;
$hive>use mydb2 ;
查看刚创建的数据库
可以看到已经有了 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 ;
删除表
drop table t2;
hive 插入数据
为了测试把刚才删除的表重新create
insert into t2(id,name,age) values(6,'moon',44);
可以看到插入数据的过程是MapReduce 过程。
hive 查询数据
hive 删除数据
提示不能执行删除操作
这是因为Hive是不支持更新操作的,你可以这样子做,从Hive表中查询出你想保留的数据,并且输入到原来的表中。
执行如下操作
insert overwrite table t2 select * from t2 where id != 6;
再查看数据
ok 已经删除了
hive load 数据
在linux 本地目录 编辑文件 customers.txt
载入数据到hive
load data local inpath '/home/river/workspace/customers.txt' into table t2 ;
通过 命令 hdfs dfs -lsr /user/hive 查看文件是否已经上传成功
可以看到 customers.txt 文件已经在t2 表中
通过hive 查看 数据
可以看到数据已经在表里。
因为数据是以文件的形式存在在hive中的,所以我们通过hdfs 看到是文件形式。
测试 是否可以通过put命令将文件直接put到hdfs内后,是否可以通过hive查询出来
通过命令将文件直接put到hdfs 的hive 目录下
再查看
ok 可以看到数据查询出来了。看来真的就是文件。而hive的load命令就是文件copy
作者:良人与我
链接:https://www.jianshu.com/p/4fdb10386109