Hive-常用操作

一. 数据库操作

1、创建数据库
//用户可以用 IF NOT EXISTS 选项来忽略这个异常。create database [ if not exists ] myhive ;
2、创建数据库并指定hdfs存储位置
create database myhive2 location '/myhive2';
3、修改数据库,可以使用alter database 命令来修改数据库的一些属性。但是数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置
alter  database  myhive2  set  dbproperties('createtime'='202004090');
4、查看数据库详细信息

①查看数据库基本信息

desc  database  myhive2;

②查看数据库更多详细信息

desc database extended  myhive2;  
5、删除数据库

① 删除一个空数据库,如果数据库下面有数据表,那么就会报错

drop  database  myhive2;

②强制删除数据库,包含数据库下面的表一起删除

drop  database  myhive  cascade; 
//包含数据库下面的表一起删除; 不要执行,危险动作
6、数据库切换
 use myhive(自己的数据库名称);

二、Hive的字段类型

分类类型描述字面量实例
原始类型BOOLEANtrue/falseTRUE
TINYINT1字节的有符号整数 -128~1271Y
SMALLINT2个字节的有符号整数,-32768~327671S
INT4个字节的带符号整数1
BIGINT8字节带符号整数1L
FLOAT4字节单精度浮点数1.0
DOUBLE8字节双精度浮点数1.0
DEICIMAL任意精度的带符号小数1.0
STRING字符串,变长“a”,’b’
VARCHAR变长字符串“a”,’b’
CHAR固定长度字符串“a”,’b’
BINARY字节数组无法表示
TIMESTAMP时间戳,毫秒值精度122327493795
DATE日期‘2020-04-29’
INTERVAL时间频率间隔
复杂类型ARRAY有序的的同类型的集合array(1,2)
MAPkey-value,key必须为原始类型,value可以任意类型map(‘a’,1,’b’,2)
STRUCT字段集合,类型可以不同struct(‘1’,1,1.0), named_stract(‘col1’,’1’,’col2’,1,’clo3’,1.0)
UNION在有限取值范围内的一个值create_union(1,’a’,63)

三、内部表操作

1、创建基本数据表(内部表)

create table tableName(字段名称 字段类型,字段名称 字段类型)
ROW FORMAT DELIMITED IELDS TERMINATED BY char(char分隔符)
指定数据中字段与字段的分隔符 ‘\t’ 或 ‘,’ 或 ‘|’ 或其他
2、创建表并指定字段之间的分隔符
create  table if not exists stu2(id int ,name string) row format delimited fields terminated by '\t' stored as textfile location '/user/stu2';
3、根据查询结果创建表
create table stu3 as select * from stu2;
4、根据已经存在的表结构创建表
create table stu4 like stu2;
1
5、查询表的类型
desc formatted  stu2;

三、外部表操作

1. 外部表说明

外部表因为是指定其他的hdfs路径的数据加载到表当中来,所以hive表会认为自己不完全独占这份数据,所以删除hive表的时候,数据仍然存放在hdfs当中,不会删掉。

2. 管理表和外部表的使用场景

每天将收集到的网站日志定期流入HDFS文本文件。在外部表(原始日志表)的基础上做大量的统计分析,用到的中间表、结果表使用内部表存储,数据通过SELECT+INSERT进入内部表。

1、分别创建老师与学生表外部表,并向表中加载数据

create EXTERNAL table tableName(字段名称 字段类型,字段名称 字段类型)
建外部表需要指定数据的存储路径。通过LOCATION进行指定。

①创建老师表:

create external table techer (t_id string,t_name string) row format delimited fields terminated by '\t';
1

②创建学生表:

create external table student (s_id string,s_name string,s_birth string , s_sex string ) row format delimited fields terminated by '\t';
1
2、 从本地文件系统向表中加载数据
load data local inpath ‘文件路径’ into table 表名;
1
3、加载数据并覆盖已有数据
load data local inpath ‘文件路径’ overwrite into table 表名;
4、 从hdfs文件系统向表中加载数据(需要提前将数据上传到hdfs文件系统,其实就是一个移动文件的操作)
cd /export/servers/hivedatas
hdfs dfs -mkdir -p /hivedatas
hdfs dfs -put techer.csv /hivedatas/
load data inpath '/hivedatas/techer.csv' into table techer;

四、修改表

1. 表重命名
	alter  table  old_table_name  rename  to  new_table_name;//把表score4修改成score5alter table score4 rename to score5;
2. 增加/修改列信息
  • 查询表结构
desc score5;
  • 添加列
alter table score5 add columns (mycol string, mysco string);
  • 查询表结构
desc score5;
  • 更新列
alter table score5 change column mysco mysconew int;
  • 查询表结构
desc score5;
  • 删除表数据
truncate table 表名; 
3.删除表
drop table score5;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下nmap工具的使用

nmap NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工 具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。N…

Hive-分区分桶概述

一、分区 简介 为了对表进行合理的管理以及提高查询效率,Hive可以将表组织成“分区”。 分区是表的部分列的集合,可以为频繁使用的数据建立分区,这样查找分区中的数据时就不需要扫描全表,这对于提高查找效率很有帮助。 分区是…

定时提醒你休息的脚本

本文来源于阿里西西WEB开发社区http://www.alixixi.com收集整理,欢迎访问。 定时弹窗提醒功能脚本..把以下代码存为.vbs运行即可. 以下是引用片段:set WshShell WScript.CreateObject("WScript.Shell") ’对话框标题 alerttitle "你的…

Hive-分区分桶操作

在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据&#xff0…

ubuntu好文收集

ubuntu全程配置手册 http://ljlau.blogdriver.com/ljlau/1220277.html ubuntu下向系统日志写记录 http://linux0818.bokee.com/viewdiary.14153197.html aptitude 使用快速参考 http://linuxtoy.org/archives/aptitude_quick_reference.html

Flume简单介绍

在一个完整的离线大数据处理系统中,除了HDFSMapReduceHive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便捷的开源框架,在此,我们首先来…

linux系统优化篇之---top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, …

Flume安装部署

1.安装部署 1、解压tar -zxvf apache-flume-1.9.0-bin.tar.gz 2、改名mv apache-flume-1.9.0-bin flume-1.9.0 3、配置环境变量 vi /etc/profile,source /etc/profile #flume export FLUME_HOME/usr/local/apps/flume-1.9.0 export PATH$PATH:$FLUME_HOME/bin4、将conf下的…

ubuntu学习摘要-ubuntu root用户

在我安装好后root的密码是什么?我怎样使用root帐号? 当你第一次安装好Ubuntu后,root帐号不能用。在安装期间创建的第一个用户对系统有管理权,通过“sudo”能象root运行程序.使用时仅需它的普通用户密码。例如: sudo apt-get updat…

Elasticsearch 简介入门

Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic&#xff0…

Elasticsearch 7.x 安装及配置

一、下载安装 1、下载地址:https://www.elastic.co/cn/downloads/elasticsearch 2、解压安装:tar -zxcf elasticsearch-7.9.0-linux-x86_64.tar.gz 二、新建es用户 在某个版本以后,elasticsearch为了安全性,是不能用root用户启…

Ubuntu下面apache2安装

Ubuntu为我们提供了 su apt-get install 命令,通过它你可以很方便地安装一些软件,这些软件是放在Ubuntu放置在各个地方的服务器上面,如果你想安装的软件是比较常见的,一般都可以通过它来下载.当然 Apache 这个软件服务器上面是有…

Java并发篇_乐观锁与悲观锁

乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。 一、引入概念 1、悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁&#…

Redhat与ubuntu配置网卡

redhat linux中设置网卡固定ip之前在xwindow下的redhat-config-network 设置网卡固定ip发现不起作用,设置好后就是ping不通。就查了些资料,更改 /etc/sysconfig/network-scripts/ifcfg-eth0(第一个网卡为eth0),配置dns的文件为 /etc/resolv.c…

SSH软件包:Sftp,scp和ssh-agent

这篇文章的中心是介绍在ssh软件包中非常有用的程序如:sftp,scp,ssh-agent,和ssh-add。在下文中我们假设sshd2守护进程很好地被设置并且运行良好。Sftp和scp总览让我们把注意力集中到sftp和scp上。第一个(sftp安全文件传…

JAVA并发篇_公平锁与非公平锁

简单的来说,如果一个线程组里,能保证每个线程都能拿到锁,那么这个锁就是公平锁。相反,如果保证不了每个线程都能拿到锁,也就是存在有线程饿死,那么这个锁就是非公平锁。 一、引入概念 1、公平锁&#xff1…

Java并发篇_进程线程

一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。 多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。…

Real提示“作为受限用户,您无足够的windows操作权限”的解决办法

运行Regedit.exe,翻到HKEY_CLASSES_ROOT/Software,删除Software;然后关闭注册表,再运行Regedit.exe,翻到HKEY_CLASSES_ROOT/Software,点右键选择“权限”,各个组都设置为“完全控制”和“读取”…

Java并发篇_线程详解

线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 一、线程的…

修改MYSQL最大连接数的3种方法

MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections100 …