Hive基本操作

Hive基本操作

  • 1. Hive常用命令
    • 1.1 Hive启动
    • 1.2 Hive退出
    • 1.3 Hive查看历史命令
    • 1.4 Hive常用交互命令
  • 2. 数据库基本操作
    • 2.1 创建数据库
    • 2.2 创建数据库并指定hdfs存储位置
    • 2.3 删除空数据库
    • 2.4 强制删除非空数据库
    • 2.5 查看所有数据库
    • 2.6 查看数据相关信息
    • 2.7 数据库切换
    • 2.8 修改数据库
  • 3. 数据表基本操作
    • 3.1 创建表
      • 3.1.1 创建表的方式
      • 3.1.2 创建内部表
      • 3.1.3 创建外部表
      • 3.1.4 内部表和外部表的转换
    • 3.2 删除表
      • 3.2.1 删除整个表
      • 3.2.2 删除表数据(保留表结构)
    • 3.3 创建分区表
      • 3.3.1 静态分区
      • 3.3.2 动态分区
    • 3.4 创建分桶表
    • 3.5 数据的导入方式
      • 3.5.1 基本导入
      • 3.5.2 as关键字导入
      • 3.5.3 insert导入
      • 3.5.4 从hdfs导入到本地
      • 3.5.5 从本地上传到hdfs
      • 3.5.6 导入覆盖原有数据
    • 3.6 数据的导出方式
      • 3.6.1 sqoop
      • 3.6.2 insert
      • 3.6.3 hdfs命令
      • 3.6.4 命令行脚本
      • 3.6.5 Hive导出工具
    • 3.7 查询表特性
    • 3.8 修改表操作
    • 3.9 分区操作

1. Hive常用命令

1.1 Hive启动

先启动hadoop集群,再启动hive

start-all.sh
hive

1.2 Hive退出

quit;

1.3 Hive查看历史命令

linux环境下进入家目录,查看. hivehistory文件

cd ~
cat .hivehistory

Hive基本操作_第1张图片

1.4 Hive常用交互命令

不进入hive交互窗口也可用以下命令执行SQL语句
Hive基本操作_第2张图片
①不进入hive交互窗口执行SQL语句

hive -e 'select * from orders limit 5;'

②不进入hive交互窗口保存SQL语句的文件

[root@master ~]# vim orders.txt
[root@master ~]# hive -f ./orders.txt

2. 数据库基本操作

2.1 创建数据库

create database 库名;

2.2 创建数据库并指定hdfs存储位置

create database 库名 location '/test';

2.3 删除空数据库

drop database 库名;

注:使用该命令删除只能删除空数据库,如果数据库下面有数据表,就会报错!

2.4 强制删除非空数据库

drop database 库名 cascade;

2.5 查看所有数据库

show databases;

2.6 查看数据相关信息

desc database 库名;			//查看库基本信息
desc database extended 库名;	//查看库详细信息

2.7 数据库切换

use 库名;

2.8 修改数据库

数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置,即 desc展示的数据是不可更改的。但可以使用alter database 命令来修改数据库的一些属性。修改数据库也就是添加数据库的属性,并且这个些属性只能通过extended查看。

alter database 库名 set dbproperties('createtime'='20210206');
desc database extended 库名;	//查看修改信息

3. 数据表基本操作

3.1 创建表

3.1.1 创建表的方式

  • 直接建表法

    create table tableName(字段名称 字段类型 [comment '中文注释说明'],字段名称 字段类型, ....)
    row format delimited fields terminated by 'char分割符即列分割符'
    lines terminated by '行分割符';
    

    – [comment ‘中文注释说明’] 添加中文注释说明,可选项
    – [row format delimited fields terminated by ‘char分割符即列分割符’] // 设置字段分隔符,通常为空格、逗号、制表符\t
    – [lines terminated by ‘行分割符’] // 设置行分隔符,一般为\n, 一般默认不写这一句
    – 字段分割符、行分割符选择是由你将上传到这个表的数据格式决定的
    – 应用场景:直接进行 字段类型,字段备注,数据存储格式的自定义

  • 抽取建标法(as)

    create table new_table_name as  select *  from table_name;
    

    应用场景:中间逻辑处理的时候进行建表,直接复制表的数据和结构,也就是建立一张临时表,方便以后的使用

  • like建标法

    create table table_name_like like table_name
    

    应用场景:只关注表结构,不需要数据

3.1.2 创建内部表

create table tableName(字段名称 字段类型,字段名称 字段类型, ....)
row format delimited fields terminated by 

你可能感兴趣的:(Apache,Hive,hive,数据库)