文章目录

  • 1.创建DataBase
  • 2.查看DataBase相关信息
  • 3.删除DataBase
  • 4.Hive表操作
    • 4.1 创建一个名为cat的表,有两个字段,cat_id,cat_name类型为string
    • 4.2 创建一个外部表cat2,有两个字段,cat_id,cat_name类型为string
    • 4.3 修改cat表结构,对cat添加group_id和cat_code
    • 4.4 将cat2改名为cat3,然后删除
    • 4.5 根据已有cat表创建一个与cat结构相同的表cat4
  • 5.Hive数据的导入
    • 5.1 从本地文件系统中导入数据到Hive
    • 5.2 将HDFS数据导入Hive
      • 5.2.1 先将数据上传到HDFS
      • 5.2.2 在Hive创建一个表用来存储从HDFS将导入的数据
    • 5.3 从别的表查询相应的数据导入Hive
  • 6.Hive数据的导出
    • 6.1 导出到本地
    • 6.2 导出到HDFS
    • 6.3 导出到Hive表

Hive定义了一套自己的SQL,简称HQL,它与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。

1.创建DataBase

create database if not exists DB;

在创建库时,应避免新建的库名与已有库名重复,如果库名重复将会报出以下错误(我在已有DB库的前提下,再次创建了DB库)。

2.查看DataBase相关信息

describe database DB;

3.删除DataBase

drop database if exists DB;

4.Hive表操作

Hive数据表包括内部表和外部表
Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径, 不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据,生产中常使用外部表。

4.1 创建一个名为cat的表,有两个字段,cat_id,cat_name类型为string

create table cat(cat_id string,cat_name string);
show tables;

4.2 创建一个外部表cat2,有两个字段,cat_id,cat_name类型为string

create external table if not exists cat2(cat_id string,cat_name string);

4.3 修改cat表结构,对cat添加group_id和cat_code

alter table cat add columns(group_id string,cat_code string);
desc cat;

4.4 将cat2改名为cat3,然后删除

alter table cat2 rename to cat3;
drop table cat3;

4.5 根据已有cat表创建一个与cat结构相同的表cat4

create table cat4 like cat;

5.Hive数据的导入

5.1 从本地文件系统中导入数据到Hive

首先创建一个表用来存储数据
在Hive中创建一个cat_group表,包含group_id和group_name两个字段,字符类型为string,以“\t”为分隔符。

create table  cat_group(group_id string,group_name string) row format delimited fields terminated by '\t' stored as textfile;

然后将本地数据导入Hive中

load data local inpath '/data/cat_group' into table cat_group;

查看结果

select * from cat_group limit 10;

5.2 将HDFS数据导入Hive

5.2.1 先将数据上传到HDFS
hadoop fs -mkdir /myhive

-put 本地路径 HDFS路径

hadoop fs -put /data/cat_group /myhive
hadoop fs -ls /myhive

此时成功的话会有显示

5.2.2 在Hive创建一个表用来存储从HDFS将导入的数据
create table  cat_group1(group_id string,group_name string) row format delimited fields terminated by '\t' stored as textfile;

或者

create table  cat_group1 like cat_group;

导数据

load data inpath '/myhive/cat_group' into table cat_group1;

查看结果

区别就是多少一个local
殊途同归,兵分两路,顶峰相见。

5.3 从别的表查询相应的数据导入Hive

先创建一个表cat_group2

create table  cat_group2(group_id string,group_name string) row format delimited fields terminated by '\t' stored as textfile;

或者

create table  cat_group2 like cat_group;

向cat_group2导入cat_group1的数据

insert into table cat_group2 select * from cat_group1;

或者

insert overwrite table cat_group2 select * from cat_group1;

在创建表的时候从别的表中查询出相应数据并插入到所创建的表中。

create tabel cat_group3 as select * from cat_group2;

6.Hive数据的导出

6.1 导出到本地

首先创建导出路径
终端执行:

mkdir -p /data/hiveout

Hive SHell执行:

insert overwerte local directory '/data/hiveout' select * from cat_group2;

终端:

cd /data/hiveout
ls
cat 000000_0


便于观察,加空格输出
SQL CONCAT函数用于将两个字符串连接起来,形成一个单一的字符串。

insert overwrite local directory '/data/hiveout' select group_id,concat('\t',group_name) from cat_group;

终端:

cd /data/hiveout
ls
cat 000000_0

6.2 导出到HDFS

和上面类似,找到正确路径,去掉local即可。

6.3 导出到Hive表

类似5.3

【Hive】Hive基本操作相关推荐

  1. Hive的基本操作-数据库的创建和删除

    Hive 的基本操作 创建数据库 create database if not exists myhive; use myhive; 说明:hive的表存放位置模式是由hive-site.xml当中的 ...

  2. 实验六:熟悉Hive的基本操作

    由于CSDN上传md文件总是会使图片失效 完整的实验文档地址如下: https://download.csdn.net/download/qq_36428822/85709631?spm=1001.2 ...

  3. (超长文)Hive Sql基本操作

    Hive Sql基本操作 1.hive里面不显示列名 2.注释问题2.1 MySQL中的注释2.2 Hive中的注释3.乱码问题3.1 修改表字段注解和表注解3.2 修改分区字段注解3.3 修改索引注 ...

  4. oracle 分桶,Hive 对象 基本操作

    在之前的博客中我们看了Hive 环境的搭建,如下: Hive 3.1.1 环境 搭建手册 https://www.cndba.cn/dave/article/3335 本篇我们了解一下Hive对象的基 ...

  5. Hive——hive安装

    1.Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/confluence/display/H ...

  6. 深入浅出学Hive——Hive原理

    目录: 初始Hive Hive安装与配置 Hive内建操作符与函数开发 Hive JDBC Hive参数 Hive高级编程 Hive QL Hive Shell基本操作 Hive优化 Hive体系结构 ...

  7. [Hive] - Hive参数含义详解

    hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...

  8. Spark on Hive Hive on Spark傻傻分不清?

    Spark on Hive? Hive on Spark傻傻分不清? 1 spark on hive Spark on hive,是spark计算引擎依托hive data source,spark ...

  9. hive -- hive + hiveclient (hive 客户端)

    五个节点的hadoop服务器集群搭建完成后,得想办法提高开发效率,mapreduce 我不是高手,写起来有点麻烦,公司业务不等人,还是决定上hive. 话说想玩好hadoop 还得学精mapreduc ...

  10. Hive ---- Hive入门

    Hive ---- Hive入门 1. 什么是Hive 1. Hive简介 2. Hive本质 2. Hive架构原理 1. 用户接口:Client 2. 元数据:Metastore 3. 驱动器:D ...

最新文章

  1. android5.0后新特性修改标题头,Android5.0中Material Design的新特性
  2. 详解Batch Normalization及其反向传播
  3. 软件seqtk的使用
  4. Ubuntu使用过程中遇到的问题总结
  5. servlet文件上传下载_Servlet上传文件和下载文件示例
  6. 我又发现一个直接就能安装中文小红帽的方法
  7. Golang zip 压缩与解压
  8. php log日志管理,PHP日志LOG类定义与用法示例
  9. linux命令we,Linux 命令执行过程
  10. php larval开发规范,Laravel 开发规范摘要
  11. ArcEngine中放大、缩小、移动等功能实现的方法
  12. ios 自制framework遇到 _OBJC_CLASS_$_XXX, referenced from:
  13. 网络工程师专用linux,软考网络工程师考点精讲之Linux系统
  14. 真正免费u盘数据恢复软件|易我数据恢复免费版
  15. 人生第一次和第二次车祸
  16. 出入库管理系统-精致版
  17. 递推最小二乘RLS推导
  18. 可以“看得见”的声音---声学成像仪
  19. Python——二进制8位加法器(采用手算二进制加法的过程实现)(tkinter实现)【2021-07-08】
  20. 深入探讨三角函数的命名规范

热门文章

  1. 如何截取视频片段 批量截取片段的方法
  2. 批量修改文件夹或文件名称
  3. 我炒股十五年,亏损超过五十万,我该怎么办?
  4. innerHTML 用法
  5. 认定科技型中小企业,这些好处一定要知道
  6. 根据数据库表字段动态生成选择画面[FREE_SELECTIONS_DIALOG FREE_SELECTIONS_INIT]
  7. python二级练习和考试复习(分别格式化输出0.002178对应的科学表示法形式)
  8. 生日悖论 python程序
  9. 六、React(Component)
  10. yum出现Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile解决方法