二、hive shell常用命令

在使用hive shell之前我们需要先安装hive,并启动hdfs

请参考:https://www.cnblogs.com/lay2017/p/9973298.html

hive shell

我们先进入安装目录

cd /usr/local/hadoop/hive/apache-hive-1.2.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表中

参考文档:https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallationandConfiguration

原文地址:https://www.cnblogs.com/lay2017/p/9973370.html

时间: 2024-12-19 15:02:32

二、hive shell常用命令的相关文章

Hive Shell 常用命令

Hive  命令行常用命令 加载数据 load data local inpath '/home/IVR_CSR_MENU_MAP.txt' into table ivr_csr_menu_map; 分区的: load data local inpath '/home/lftest/lf1.txt' overwrite into table lf_test partition(dt=20150927); 加overwrite会覆盖原数据(已有的话)若不加,又有原数据,则会生成一个copy文件 l

hbase shell常用命令

hive常用命令 show tables; 列出hive里面所有数据表名 desc userProfile; 显示数据表userProfile的基本表字段及字段type desc extended trackinfo; 显示数据表trackinfo的详细信息,包括字段说明,数据表等 /usr/local/cloud/hive/bin/hive 进入hive数据库 select attribute_name from pms_attribute where attribute_id=21000 a

SHELL常用命令总结

http://blog.chinaunix.net/uid-25311424-id-2956521.html 一.mkdir命令 1.用途:创建目录 2.参数: (1).-p :如果路径中的某些目录不存在,则会自动创建目录,默认的mode由执行环境中的umask决定,即mode = 0777 - umask;无参数则路径中的目录不存在则将无法创建 (2).-m : 指定目录的权限; 3.例子: 示例一 [[email protected] ~]# umask 0022 [[email prote

Hive Shell常用操作

1.本文命令的两种模式: 交互模式,即hive的shell环境:hive > …. 非交互模式:普通的Linux命令模式:%..... 2.Hive Shell常用操作 1) hive -e:从命令行执行指定的HQL,不需要分号: % hive -e 'select * from dummy' > a.txt 2) hive –f: 执行HQL脚本 % hive -f /home/my/hive-script.sql 3) hive -i:在进入交互模式之前,执行初始化sql文件 % hive

yum 系列(二) yum 常用命令

yum 系列(二) yum 常用命令 一.yum 常用命令 yum 命令:http://man.linuxde.net/yum yum 是在 Fedora 和 RedHat 以及 SUSE 中基于 rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理 RPM 软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装. yum 提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记.

adb shell常用命令

adb shell常用命令: 按下OK键   device.press('KEYCODE_DPAD_CENTER','DOWN_AND_UP') 长按某个按键:  device.drag((236,440),(236,440),2,10) 相应的按键对应的名称如下: home键:KEYCODE_HOME back键:KEYCODE_BACK send键:KEYCODE_CALL End键:   KEYCODE_ENDCALL 上导航键:KEYCODE_DPAD_UP 下导航键:KEYCODE_D

Shell 常用命令

Shell 常用命令 这篇博客记录了一些 Shell 常用命令 供未来查阅. 添加ll 为了简化 "ls -l",可以在~/.bash_profile中加入: 1 2 alias ll='ls -l' 获得参数 $0是命令本身$1是第一个参数 $ $可以认为是 获取内容 . 内置变量 bash有很多内置变量,我们可以使用$获取到它们,例如: 1 2 3 4 5 $PWD $HOME $PATH $(pwd) 读取配置 配置数据可以像下面一样: 1 2 3 4 Fansy:UtilToo

Shell 常用命令总结

Shell常用命令总结 1  ls命令:列出文件 ls -la 列出当前目录下的所有文件和文件夹 ls a* 列出当前目录下所有以a字母开头的文件 ls -l *.txt 列出当前目录下所有后缀名为txt的文件 2  cp命令:复制  cp a.txt b.txt : 把文件a的内容复制到b文件 cp a.txt ./test : 把文件a复制到text目录下 cp -a test test2:递归的把目录test下所有文件(包括隐藏的文件)复制到新的目录 test2 3  cat命令:查看 组

ANT编译打包&WIFI调试& adb shell常用命令

ANT编译打包 1:用ADT工具自带的打包:    1:切换到项目目录: 运行,android update project -p . android update project -p ./ --library ../com.example.plugin1.ifs 2:刷新:多了两个目录, 3:local.properties配置: sdk.dir=E:\\samy\\adt-huixin_x86-20140321\\sdk  key.store=./keystore/**** key.sto