二、hive shell常用命令
2024-08-26 16:12:29
在使用hive shell之前我们需要先安装hive,并启动hdfs
请参考:https://www.cnblogs.com/lay2017/p/9973298.html
hive shell
我们先进入安装目录
cd /usr/local/hadoop/hive/apache-hive-1.2.-bin
使用Hive命令启动hive shell
hive
查看一下数据库,发现有一个默认的default
我们需要创建一个新的test数据库
再看一下数据库,test数据库已经创建完成了
我们切换到test数据库
创建一张t_user表,你会看到创建表的语句显得似乎很麻烦,这么长一句
CREATE TABLE users(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
我们分开来看,建表的简单语句,如
create t_user(id int, name String);
而每一列分隔符就是
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
每行的分隔符就是
LINES TERMINATED BY '\n'
最后存储的文件格式就是txt
STORED AS TEXTFILE;
为了更清楚建表语句为什么这么建,我们在/tmp目录下建立一个user.txt,内容如下(注意:每个单词之间是空格分隔,每行是\n分隔,这也是为什么我们在建立hive的表的时候需要配置它的格式,因为我们在读取txt数据的时候需要按照格式进行读取,否则你将查询到一堆的null)
1 lay
2 marry
3 gary
然后我们在hive shell中,把该txt数据给加载到hive中
load data local inpath '/tmp/user.txt' overwrite into table t_user; // 加载本地数据到t_user表中
然后我们查询一下t_user表中的数据,如下
数据就像关系型数据库一样展示,这就是hive的SQL简单查询功能
常用命令
create database test; // 创建数据库
drop database test; // 删除数据库
drop database test cascade; // 强制删除数据库
show databases; // 列出所有数据库
use test; // 使用数据库 create t_user(id int, name String); // 创建表
CREATE TABLE users(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE; // 按照格式创建表,否则load data无法正常读取数据
describe t_user; // 查询表结构
drop table t_user; // 删除表
alter table t_user add columns(age int); // 更改表,新增列
load data local inpath '/tmp/user.txt' overwrite into table t_user; // 加载本地数据到t_user表中
load data inpath '/tmp/user.txt' overwrite into table t_user; // 从hdfs加载数据到t_user表中
最新文章
- js数组转换问题
- LruCache缓存
- MAC 安装j2ee.sh的办法
- WPF学习之路(十三)URL
- HTTP 长连接和短连接
- 【BZOJ】3621: 我想那还真是令人高兴啊
- [每日一题] 11gOCP 1z0-053 :2013-10-11 Flashback Data Archive属性.........................43
- 2016 Multi-University Training Contest 1 GCD RMQ+二分(预处理)
- ubuntu下安装ssh
- 构造函数语义学之Copy Constructor构建操作(2)
- ZOJ 3728 Collision
- C#代码实现把网页文件保存为mht文件
- python学习之第一课时--初始python
- spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。
- 实训任务03: 使用Eclipse创建MapReduce工程
- Idea使用Maven创建Java Web项目
- wchar_t*转换string
- Linux驱动之一个简单的输入子系统程序编写
- jQuery EasyUI combobox多选及赋值
- windows下搭建docker