Hive基础笔记

安装Hive并连接MySQL

ubuntukylin-22.04.1安装Hive、MySQL、配置Hive及Hive连接MySQL操作

启动/退出Hive

启动并登陆mysql shell

service mysql start	# 启动mysql服务
mysql -u root -p  # 登陆shell界面

启动hive之前,请先启动hadoop集群

启动hive

进入hive安装目录(笔者的安装目录为/usr/local/hive)

cd /usr/local/hive
./bin/hive

退出Hive交互式执行环境

exit;

相关操作

创建数据库:

create database ykb;

创建数据库并指定创建位置:

create database tt> location '/tt.db';

创建表并指定位置且定义数据结构:

create table tt> (id int,name string,address struct<city:string,distrct:string>,info map<string,string>)> location '/tt.db/tt';

以’,‘,’|‘,’;'为分隔符创建表:

create table gstudent2> (id int,name string,address struct<city:string,distrct:string>,info map<string,string>)> row format delimited> fields terminated by ','> collection items terminated by '|'> map keys terminated by ';';

eq:
以’,'为分隔符创建表:
内容:

1,五四运动,1919-5-4,北京
2,中共一大,1921-7-23,上海
3,遵义会议,1935-01-15,遵义
4,中共八大,1956-9-15,北京
5,中共十一届三中全会,1978-12-18,北京
6,中共十八大,2012-11-8,北京

create table event> (eid int,ename string,edate string,place string)> row format delimited fields terminated by ',';show databases;                           #查看所有数据库
show databases like 'h.*';                #查看以h开头的数据库
use hive;                                 #切换到hive数据库下
describe hive;                       #查看hive表的信息

数据导入:

  1. 在终端输入:
hdfs dfs -put ~/gstudent2.txt /tt.db/gstudent2
  1. 在hive中输入:
    从本地导入到hive:
load data local inpath '/home/hadoop/gstudent2.txt' [overwrite] into table gstudent2;

从hdfs导入到hive:

load data inpath '/gstudent2.txt' [overwrite] into table gstudent2;  # 相当于移动,hdfs dfs -mv

导出数据:

insert overwrite local directory '/home/hadoop/daochu/event'> select * from event;

格式化导出数据到本地:

insert overwrite local directory '/home/hadoop/daochu/event'> row format delimited fields terminated by '/t'> select * from event;

利用hdfs命令导出:(需事先创建导出文件夹)

hdfs dfs -get /user/hive/warehouse/history.db/event ./daochu;

set hive.cli.print.header=true; 查看数据时显示表头

用于指定查询返回结果中重复的行如何处理,默认值为all返回所有匹配的行,distinct从结果集中删除重复行:

select [all/distinct] 所要查询的列 from 表名;

查看数据:

select * from tt;

1 五四运动 1919-5-4 北京
2 中共一大 1921-7-23 上海
3 遵义会议 1935-01-15 遵义
4 中共八大 1956-9-15 北京
5 中共十一届三中全会 1978-12-18 北京
6 中共十八大 2012-11-8 北京

查询事件的名称和发生地:

select ename,place from event;

查询发生在北京的事件的名称和发生时间:

select ename,edate from event where place='北京';

查询出生日期在1885年以后的人物:

select * from event where edate > '1885-1-1';

查询事件3的事件名:

select ename from event where eid=3;

查询人物名:

select pname from participant;

返回所有匹配的行 去除重复的结果:

select distinct age from stu;

找出学院名字母长度等于2的有哪些:

select * from stu where length(department) =2;

找出属于计算机与计科学院的年龄为18岁的学生信息:

select * from stu where department=‘jike’ and age = 18;

根据学院对表stu进行分组:

select * from stu group by department;

对输出的结果进行全局排序,默认排序为升序(ASC),也可以指定为DESC降序:
根据字段进行排序:

select * from stu where class = '211' order by name;

根据字段进行降序排序:

select * from stu where class = '130211order by name desc;

内连接:内连接是最常见的一种连接,它也被称为普通连接,其中inner可以省略:inner join == join;只有进行连接的两个表中都存在与连接条件相匹配的数据才会被留下来

inner join 查看学生的姓名,班级,课程号与成绩:

select stu.stuname,stu.class,score.coursenum,score.score from stu join score on stu.stuname=score.stuname;

等价于 隐式连接表示法:

select stu.stuname,stu.class,score.coursenum,score.score> from stu,score> where stu.stuname=score.stuname;

向表中插入内容:

insert into table 表名 values(7,'内容','内容','内容','内容');

将人物名,人物简介导出到新表pnew:
首先创建新表pnew:

create table pnew> (pname string,desc string)> row format delimited fields terminated by ' ';

将人物名,人物简介导出到新表:

insert overwrite table pnew> select pname,content from participant;

查表的细节(获取表的元数据描述信息):

desc formatted gstudent2;DESCRIBE FORMATTED 表名;

删除表:

drop table [if exists] usr1;

删除数据库和它中的表:

drop database [if exists] hive cascade;

显示当前正在使用的数据库:

select current_database();

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

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

相关文章

【AIGC】破解ChatGPT!如何使用高价值提示词Prompt提升响应质量

文章目录 为什么高价值提示词如此重要&#xff1f;&#x1f50d;1.1 提升响应的相关性和准确性1.2 节省时间与资源1.3 增强用户体验 了解ChatGPT的工作原理&#x1f9e0;2.1 语言模型的训练过程2.2 上下文理解与生成2.3 限制与挑战 高价值提示词的核心要素✍️3.1 清晰明确的指…

D74【 python 接口自动化学习】- python 基础之HTTP

day74 http基础定义 学习日期&#xff1a;20241120 学习目标&#xff1a;http定义及实战 -- http基础介绍 学习笔记&#xff1a; HTTP定义 HTTP 是一个协议&#xff08;服务器传输超文本到浏览器的传送协议&#xff09;&#xff0c;是基于 TCP/IP 通信协议来传递数据&…

YOLOv8-ultralytics-8.2.103部分代码阅读笔记-conv.py

conv.py ultralytics\nn\modules\conv.py 目录 conv.py 1.所需的库和模块 2.def autopad(k, pNone, d1): 3.class Conv(nn.Module): 4.class Conv2(Conv): 5.class LightConv(nn.Module): 6.class DWConv(Conv): 7.class DWConvTranspose2d(nn.ConvTranspose2d)…

2025 -生物信息学- GEO - 神经网络分析-ANN

GEO - 神经网络分析-ANN 01. 准备文件 id GSM3587381_con GSM3587382_con GSM3587383_con GSM3587384_con GSM3587385_con GSM3587386_con GSM3587387_con GSM3587388_con GSM3587389_con GSM3587390_con GSM3587391_con GSM3587392_con GSM3587393_con GSM3587394_con GSM358…

uniapp页面样式和布局和nvue教程详解

uniapp页面样式和布局和nvue教程 尺寸单位 uni-app 支持的通用 css 单位包括 px、rpx px 即屏幕像素。rpx 即响应式px&#xff0c;一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为基准&#xff0c;750rpx恰好为屏幕宽度。屏幕变宽&#xff0c;rpx 实际显示效果会等比放大…

5G Non-Public Network(三)Public Network Integrated NPN

这篇我们来看下PNI-NPN,之前都没有提到NPN引入的背景,这里就简单看下。 NPN引入的背景如上,就不细说了,贴在这里,确实很简单的看了下。紧接着就来看下规范上的内容。 相比于SNPN,PNI-NPN是PLMN提供的NPN,内容也要少很多,下面的内容参考38.300,38.331 ,38.304,23.50…

⾃动化运维利器Ansible-基础

Ansible基础 一、工作原理二、快速入门2.1 测试所有资产的网络连通性2.2 发布文件到被管理节点(资产) 三、资产(被管理节点)3.1 静态资产3.1.1 自定义资产3.1.2 自定义资产的使用3.1.3 资产选择器 四、Ansible Ad-Hoc 命令4.1 模块类型4.1.1 command & shell 模块4.1.2 cop…

一文了解Android中的AudioFlinger

AudioFlinger 是 Android 音频框架中的一个核心组件&#xff0c;负责管理音频流的混合和输出。它是 Android 音频系统服务的一部分&#xff0c;作为音频框架和硬件之间的桥梁&#xff0c;接收应用程序的音频请求、进行混音处理&#xff0c;并最终通过音频硬件输出声音。 下面我…

基于YOLOv8深度学习的智慧交通事故评级检测系统研究与实现(PyQt5界面+数据集+训练代码)

本文研究并实现了一种基于YOLOv8深度学习模型的智慧交通事故评级检测系统&#xff0c;旨在解决传统交通事故检测过程中效率低、误报率高等问题。该系统通过深度学习技术的应用&#xff0c;结合交通事故图像的分析&#xff0c;能够实现对事故的精准识别和评级&#xff0c;进而为…

以Java为例,实现一个简单的命令行图书管理系统,包括添加图书、删除图书、查找图书等功能。

江河湖海中的代码之旅&#xff1a;打造你的命令行图书管理系统 一、系统简介 1. Java简介 Java&#xff0c;这个编程语言界的“瑞士军刀”&#xff0c;自1995年诞生以来就以其跨平台的特性和强大的生态系统征服了无数开发者的心。想象一下&#xff0c;Java就像是一条蜿蜒曲折…

使用MaxKB搭建知识库问答系统并接入个人网站(halo)

首发地址&#xff08;欢迎大家访问&#xff09;&#xff1a;使用MaxKB搭建知识库问答系统并接入个人网站 前言 从OpenAI推出ChatGPT到现在&#xff0c;大模型已经渗透到各行各业&#xff0c;大模型也逐渐趋于平民化&#xff1b;从最开始对其理解、生成、强大的知识积累的惊叹&…

Android15之解决:Dex checksum does not match for dex:framework.jar问题(二百三十九)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

消息队列原理面试题及参考答案

什么是消息队列? 消息队列是一种在不同应用程序组件或者系统之间进行异步通信的中间件技术。它就像是一个信息的 “中转站”。从技术层面来讲,消息队列主要由消息生产者、消息队列本身和消息消费者这几个核心部分构成。 消息生产者负责创建消息并将其发送到消息队列中。这些消…

ubuntu16.04配置网卡

安装ubuntu16.04到最后选择安装服务时通过空格勾选 网卡 bond1 、集群内机器之间访问无网络限制 操作系统 raid1 数据盘得根据咱们的用途来看做raid几&#xff0c;如果用于ceph 就做单盘 raid0 &#xff0c;其他做raid5 操作系统 bc-euler 21.10 及以上或者 bc-龙蜥 8.2以上…

css 溢出隐藏显示省略号

单行文字超出隐藏&#xff1a; 要使用CSS使超出容器的文本隐藏并以省略号显示&#xff0c;可以使用以下属性&#xff1a; overflow:hidden: 设置为 hidden 以隐藏超出容器的内容。 text-overflow:ellipsis: 设置为 ellipsis 以显示省略号。 white-space:nowrap: 设置为 nowr…

LLM学习笔记(5)微调 Fine-tuning

什么是微调&#xff08;Fine-tuning&#xff09;&#xff1f; 微调&#xff08;Fine-tuning&#xff09;是指在预训练模型&#xff08;如 GPT&#xff09;基础上&#xff0c;通过加入特定的数据对模型进行进一步训练&#xff0c;以优化其在某一特定任务或领域上的表现。它的主…

oracle配置

# 切换至oracle用户 [rootlocalhost ~]# su - oracle# 连接,以 DBA 用户身份登录 SQL*Plus [oracledb ~]$ sqlplus / as sysdba# 查看现有表空间名称及存放路径 SQL> SELECT file_name,tablespace_name FROM dba_data_files;-- 创建表空间 zf CREATE TABLESPACE zf DATAFILE…

【Unity基础】对比Unity中两种粒子系统

在Unity中&#xff0c;Particle System和Visual Effect Graph (VFX) 都是用于创建粒子效果的工具&#xff0c;但它们的设计目标、使用场景和功能特点有所不同。以下是详细对比&#xff1a; 1. Particle System 特点 传统粒子系统&#xff0c;Unity自带的模块化粒子特效工具。…

快速搭建Android开发环境:Docker部署docker-android并实现远程连接

目录 前言 1. 虚拟化环境检查 2. Android 模拟器部署 3. Ubuntu安装Cpolar 4. 配置公网地址 5. 远程访问 小结 6. 固定Cpolar公网地址 7. 固定地址访问 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊快速搭建Android开发环境&#x…

CSS回顾-CSS选择器详解

一、引言 我来填坑啦&#xff01;之前在CSS基础知识详解中介绍过&#xff0c;CSS 是一门基于规则的语言。是由选择器与样式信息组成&#xff1a;选择器 {样式信息}。CSS 选择器是 CSS 规则的关键&#xff0c;能精准定位 HTML 元素&#xff0c;CSS3 新增选择器更是增强了设计能…