Hive对库对表的操作

2023-10-27

目录

前期工作

1.Hive对库的操作

2.Hive对表的操作

3.Hive的分区表


前期工作

需提前启动服务端(hiveserver2)和客户端(beeline -u 'jdbc:hive2://192.168.67.110:10000' -n root),即可实现hive的操作。

1.Hive对库的操作

1)show databases;

2)create database t1;

3)show databases;

4)创建带属性的库并查看数据库的详细信息

创建:create database if not exists t3 with dbproperties('creator'='hadoop','date'='2019-01-01');

查看:desc database extended t3;

5)删除库

drop database if exists t3 cascade;

6)切换数据库并查看当前正在使用哪个数据库

use t2;

2.Hive对表的操作

内部表:

1)创建内部表 ,并在hdfs上找到内部表的存储路径 。

create table worker_1(id int,name string,salary bigint,addr string)

row format delimited

fields terminated by ‘,’;

 

外部表:

2)创建外部表 ,在hdfs上的指定路径查询外部表时发现,只是一张空表,没有任何数据

create external table worker_2(id int,name string,salary bigint,addr string)

row format delimited

fields terminated by ‘,’

location ‘/worker’;

导入:

3)将本地磁盘上的文件导入表中。

Load data local inpath ‘/opt/testData/hive/worker_1.txt’ overwrite into table worker_1;

4)在h dfs上将文件导入数据表中

load data inpath ‘/worker/worker_1.txt’ into table worker-2;

5)从别的表查询数据后插入到一张新建的表中,自动生成数据表。

6)从别的表查询数据后插入到一张已经存在的表中,已经存在此表。

导出:

7)将数据从hive的表中导出到hdfs的目录中

8)将数据从hive的表中导出到本地磁盘的目录中。

9)Hive的复杂数据类型:

创建数据表:

create table movie_info(

id int,

name string,

work_location array<string>,

piaofang map<string,bigint>,

address struct<location:string,zipcode:int,phone:string,value:int>)

row format delimited

fields terminated by " "

collection items terminated by ","

map keys terminated by ":" ;

导入数据:

load data local inpath "/usr/datadir/movie_1.txt" into table movie_info;

查询语句:

array:select work_location[0] from movie_info;

Map:map:select piaofang["a1"] from movie_info;

struct:select address.location from movie_info;

10)Hive文件存储格式

创建seq表,对应的文件类型是sequencefile。

将查询出来的数据直接使用sequencefile保存。

将查询出来的数据直接使用orc保存。

将查询出来的数据直接使用parquet保存。

 11)查看表信息

新建表:

create table student(id int,name string,age int)

row format delimited

fields terminated by “,”;  

查看表信息。

desc student;

查看表的详细信息。

desc extended student;

查看表的详细建表语句。

show create table student;

12)修改表

修改表名alter table student rename to new_student;

 13)删除表

14)清空表

truncate table student;

3.Hive的分区表

1)分区表的创建

分区就是表目录中的一个子目录。

建表

create table worker_4(id int,name string,salary bigint,addr string)

partitioned by (day string)

row format delimited

fields terminated by ‘,’;

2)导入数据到分区

load data local inpath '/opt/testData/hive/worker_1.txt' into table worker_4 partition(day='01');

load data local inpath '/opt/testData/hive/worker_1.txt' into table worker_4 partition(day='02');

3)增删分区

查看分区信息。

show partitions worker_4;

增加分区:

alter table worker_4 add partition(day='03') partition(day='04');

通过加载数据实现添加分区:

load data local inpath '/opt/testData/hive/worker_3.txt' into table worker_4 partition(day='05');

4.Hive的分桶操作:

1)向桶中插入数据

2)查看存储信息

3)查看分桶数据

Hive的表关联操作:

Join操作:

数据准备:

创建表,导入数据:

create table t_order(

orderid int,

name string

)

row format delimited

fields terminated by ",";

load data local inpath '/usr/datadir/order.txt' into table t_order;

create table t_goods(

goodid int,

price int

)

row format delimited

fields terminated by ",";

load data local inpath '/usr/datadir/goods.txt' into table t_goods;

内连接:inner join

左外连接:

select *

from t_order left join t_goods

on orderid = goodid;

右外连接:

select *

from t_order right join t_goods

on orderid = goodid;

全外连接:

select *

from t_order full join t_goods

on orderid = goodid;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive对库对表的操作 的相关文章

随机推荐

  • 微信公众号 Jssdk调用错误码:63002, 获取access_token错误代码 errcode 40164的解决方法,如何解决,微信公众号的坑。

    今晚在开发公众号 需要调用到 Jssdk 结果配置好了 一运行就提示 Errmsg config fail Error 系统错误 错误码 63002 invalid signature 20200108 00 04 41 我的心突然就好慌
  • HTTPS理论基础

    目录 HTTPS原理 密码学基础 HTTPS通信过程 数字证书 本文链接 https blog csdn net iispring article details 51615631 HTTPS原理 我们知道 HTTP请求都是明文传输的 所谓
  • POSTGIS教程

    一 什么是PostgreSQL和PostGIS 1 1 什么是PostgreSQL 说起数据库 大家耳熟能详的商业数据库产品当推Oracle 微软的SqlServer和IBM的 DB2等 而开源数据库中则有两大产品MySQL和Postgre
  • 数据结构PTA 案例6-1.4 地下迷宫探索

    案例6 1 4 地下迷宫探索 题目 解法 题目 假设有一个地下通道迷宫 它的通道都是直的 而通道所有交叉点 包括通道的端点 上都有一盏灯和一个开关 请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点 输入格式 输入第一行给出三个正整数
  • Linux内核中断系统结构——软中断

    在 Linux异常 中断 处理体系结构 这篇文章 我们详细描写了内核如何进行中断 异常 向量表的初始化 如何初始化硬件中断 IRQ 的操作 在这篇文章中 我们将重心放在软件中断上 也就是 CPU 本身的中断 这篇文章包括五个内容 软中断 t
  • 当电桥为恒流源时惠斯通电桥电压的计算方法

    http wenku baidu com link url S55C CbY IQBl7oqgICODIz765KasqscVU2ACb6xV1OJB1zhLWwvryumayUWtB7V0b3 uHiclyhZtHHMfejUVFuYfd
  • 大数据毕设 - 校园卡数据分析与可视化(python 大数据)

    文章目录 0 前言 1 课题介绍 2 数据预处理 2 1 数据清洗 2 2 数据规约 3 模型建立和分析 3 1 不同专业 性别的学生与消费能力的关系 3 2 消费时间的特征分析 4 Web系统效果展示 5 最后 0 前言 Hi 大家好 这
  • python和opencv利用摄像头进行视频捕获

    python容易上手 利用opencv进行视频录制及后期的人脸识别 都是比较简单易上手的方案 工具 python3 10 opencv4 54 平台 win10 vscode 摄像头捕获程序 import cv2 as cv cap cv
  • Arduino从零开始(2)——控制舵机与步进电机

    0 前言 本文主要介绍通过Arduino控制舵机 步进电机以及循环的使用 目录 0 前言 1 介绍 2 Arduino控制舵机 2 1方法一 2 2方法二 3 Arduino控制步进电机 1 介绍 对于Arduino控制舵机的方法是通过其输
  • 做方差分析需要正态性检验吗_方差分析(SPSS版)

    方差分析 SPSS版 原创 Gently spss学习乐园 2019 10 15 文章同步于 微信公众号 SPSS学习乐园 方差分析 SPSS版 方差分析的基本思想 R A Fisher提出的统计理论基础 将总变异分解为由研究因素所产生的变
  • 计算机系统结构:流水线技术总结

    文章目录 什么是流水线 流水线的分类 流水线的性能指标 流水线设计中的若干问题 非线性流水线的调度 单功能非线性流水线的最优调度 多功能非线性流水线的调度 一条经典的5段流水线 相关与流水线冲突 结构冲突 因硬件资源满足不了指令重叠执行的要
  • 基于Pytorch实现LSTM(多层LSTM,双向LSTM)进行文本分类

    LSTM原理请看这 点击进入 LSTM nn LSTM input size hidden size num layers 1 nonlinearity tanh bias True batch first False dropout 0
  • Cesium加载Supermap的wmts服务

    最近使用cesium 加载supermap的wmts 服务 多次遇到加载异常与白页面问题 纠结好久最后才搞定 特此记录 1 首先找到方法加载wmts 的api 文档 官方提示使用WebMapTileServiceImageryProvide
  • nginx配置防止域名恶意解析

    前几发生一件事情 就是通过nginx日志发现有一个域名恶意指向到了我的服务器 大家可以去查查域名恶意解析可能会造成的危害 由于我是用的nginx配置了一个反向代理 所以直接配置nginx就可以实现域名恶意解析的问题了 首先打开我们的ngin
  • Hyperledger Fabric 入门笔记(四)Fabric V2.4 测试网络基础

    文章目录 前言 一 准备测试网络 1 1 概述 1 2 完成准备工作 1 2 1 运行install fabric sh脚本 1 2 2 文件夹去锁 可选 1 3 install fabric sh脚本运行结果 1 4 什么是二进制文件 1
  • 计算机毕业设计题目100例

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • iOS学习之iOS沙盒(sandbox)机制和文件操作(一)

    1 iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件 不可以去其它地方访问 此区域被成为沙盒 所以所有的非代码文件都要保存在此 例如图像 图标 声音 映像 属性列表 文本文件等 1 1 每个应用程序都有自己的存储空间
  • 移动硬盘安装centos8

    买了个西数固态移动硬盘想要安装centos8 感觉应该很简单没想到也有不少坑 1 下载iso https www centos org download X86 64版本的 CentOS 8 4 2105 x86 64 dvd1 iso 为
  • Java包名与包路径

    很多初学者以为只要把生成的class文件放在某个目录下 这个目录名就成了这个类的包名 这是一个错误的看法 不是有了目录 结构 就等于有了包名 为Java类添加包必须在Java源文件中通过 package语句指定 单靠目录名是没法指定的 Ja
  • Hive对库对表的操作

    目录 前期工作 1 Hive对库的操作 2 Hive对表的操作 3 Hive的分区表 前期工作 需提前启动服务端 hiveserver2 和客户端 beeline u jdbc hive2 192 168 67 110 10000 n ro