分布式数据库原理及技术实验及个人思考

news2024/9/24 19:16:46

Hive的数据库及表的存储结构体系讨论

1.显示hive所在数据库的位置

方法一:一次性临时存储

>hive set hive.cli.print.current.db=true

方法二:永久存储

在conf文件夹下修改hive-site.xml配置文件,添加

<property>

 <name>hive.cli.print.current.db</name>

 <value>true</value>

</property>

实现永久显现


2.问题1、HIVE创建的默认数据库以及在默认数据库下面创建的表存储位置在哪里?

为查看hive创建的默认数据库及默认数据库下所创表的存储位置,在dafault数据库下创建一个表 kwwr,通过hdfs命令查找到kwwr表所在位置

首先

desc extended kwwr;

或者

desc formatted kwwr;

查看状况

hdfs fs -ls 查看文件所在位置

可知:

HIVE创建的默认数据库所在位置:/warehousedir/home

在默认数据库下面创建的表存储位置:/warehousedir/home/kwwr

3.问题2、HIVE创建自定义数据库mydb,并在mydb下面创建自定义表student,则mydbstudent的存储位置在哪里?

同样,查看自定义数据库mydb以及自定义表student的存储位置

可知:

HIVE创建的自定义数据库mydb数据库所在位置:/warehousedir/home/mydb.db

mydb数据库下面创建的表student存储:/warehousedir/home/mydb.db/student

讨论:分析默认数据库中表的存储位置和自定义数据库中的表的存储位置是否一样

不一样,

默认数据库中的表存储在特定的数据文件中,这些文件通常位于数据库服务器上的特定目录/warehousedir/home/(表名)。对于自定义数据库,它的存储位置通常是在数据库服务器的相应数据目录下/warehousedir/home/(所创建的数据库名).db/(表名)。

HDFS指令操作

hdfs shell 使用

http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

hadoop fs -mkdir /usr;

-touchz 在hdfs上创建空白文件

hadoop fs -touchz /emptyfile

hadoop fs -ls /

1. -ls 显示当前目录结构

hadoop fs -ls /

后面如果没有目录就是访问/user/<当前用户>目录,即/user/root。

如果没有这个目录/user/root,会提示文件不存在的错误。

2. -lsr 递归显示目录结构

该命令选项表示递归显示当前路径的目录结构,后面跟hdfs路径。

hadoop fs -ls -R /usr

3. -du 统计目录下各文件大小

该命令选项显示指定路径下的文件大小,单位是字节

hadoop fs -du /usr

4. -dus 汇总统计目录下文件大小

该命令选项显示指定路径的文件大小,单位是字节

hadoop fs -du -s /usr

5. -count 统计文件(夹)数量

hdfs fs -count /usr

6. -mv 移动

该命令选项表示移动hdfs的文件到指定的hdfs目录中。

后面跟两个路径,第一个表示源文件,第二个表示目的目录.

hadoop fs -mv /usr/opt/data/student.txt  /usr

7. -cp 复制

该命令选项表示复制hdfs指定的文件到指定的hdfs目录中。

后面跟两个路径,第一个是被复制的文件,第二个是目的地.

hadoop fs -cp /usr/opt/data/student.txt  /usr

8.-rm 删除文件/空白文件夹

该命令选项表示删除指定的文件或者空目录

hadoop fs -rm /usr

-rmr 递归删除

9.-put 上传文件

该命令选项表示把linux上的文件复制到hdfs中 

hadoop fs -put /usr/opt/data/student.txt  /usr/data

思考问题  -put后本地文件是否还有student.txt?-mv呢?-cp呢?

答:

-put后本地文件还存在原文件

-mv后本地文件不存在

-cp后本地文件还存在

10. -cat查看文件内容; -text

hadoop fs -cat /student.txt

11. -chmod 修改文件权限

hadoop fs -chmod 777 /emptyfile   777最高权限读写方式

12. get(从hdfs拷贝文件到本地)

hdfs  fs  -get  /usr/student.txt  /usr/opt/data

Hive下命令:

Create database location /testdata;

指定所存到的位置

hive 删除数据库报库内已存在表

Drop database if exists 数据库名 cascade;

13.思考14

:hadoop fs -mkdir /testdata
hive>create database fh1 location '/testdata/fh1.db';
hive>create table student(sid int, sname string);

如果使用drop database fh1;是否可以删除数据库fh1?

不可以


如果使用hive>drop database if exists fh1 cascade; 那么/testdata文件夹还是否存在?

可以删除掉数据库,但/testdata文件夹不存在了

但是如果默认数据库创建的位置,删去数据库后,默认存储文件夹/warehousedir/home不会消失

删去数据库mydb1后,显示结果:

14.实操实验

1.将ah16表中满足条件:年龄在19到22岁之间且血型为A的学生名单查询输出到/exampleout目录下;

Hdfs创建文件系统:

将数据写入文件系统:

insert overwrite directory 'lexampleout'

row format delimited

fields terminated by','

select * from blood  

where age>19 and age<=22 and blood='A';

查看:

2、通过insert into ...values指令同时插入三条数据,是否需要启动mapreduce?

需要启动MR

3、update ... set...[where]指令需不需要启动Mapreduce? where 语句存在性是否会影响MR的启动?

update ... set...[where]指令需要启动MR;

where 语句存在性不影响MR的启动

  1. delete from与drop table的区别,两者是否需要启动mapreduce?

delete from需要启动MR

Drop table则不需要

直接删除表

  1. rename一个已有表的表名,如何实现,是否需要启动mapreduce?

不需要启动MR

只是修改元数据,而不是实际的数据。

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

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

相关文章

报错解决:No module named ‘pytorch_lightning‘ 安装pytorch_lightning

报错记录 执行如下代码&#xff1a; import pytorch_lightning报错&#xff1a; No module named ‘pytorch_lightning’ 解决方式 安装pytorch_lightning包即可。 一般情况下&#xff0c;缺失的包通过pip安装&#xff0c;即&#xff1a; pip install pytorch_lightning然…

构建 Maven 项目时可能遇到的问题

文章目录 构建 Maven 项目时可能遇到的问题1. Maven 自动下载依赖后&#xff0c;在本地仓库中找不到2. 运行时报错如下&#xff1a;Error: java 不支持发行版本 53. 创建 Maven 项目后 pom.xml 文件为空4. 在 Settings 中 Update 了阿里云远程仓库&#xff0c;导致整个项目不能…

【Web】NSSCTF Round#16 Basic个人wp(全)

出题友好&#xff0c;适合手生复健。 目录 ①RCE但是没有完全RCE ②了解过PHP特性吗 ①RCE但是没有完全RCE 上来就是一段md5八股 (string)就是不让用数组了&#xff0c;然后强比较需要md5碰撞 ?md5_1%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc…

【Python机器学习】分类器的不确定估计——决策函数

scikit-learn接口的分类器能够给出预测的不确定度估计&#xff0c;一般来说&#xff0c;分类器会预测一个测试点属于哪个类别&#xff0c;还包括它对这个预测的置信程度。 scikit-learn中有两个函数可以用于获取分类器的不确定度估计&#xff1a;decidion_function和predict_pr…

Portalgraph VR空间投影仪:可以将VR空间投射到任意平面上的新型VR投影技术

通过一项创新的科技突破&#xff0c;Portalgraph VR空间投影仪成功地在现实与虚拟空间之间搭建起了一座神奇的“时空传送门”。这投影一技术不仅打破了传统虚拟现实设备的局限&#xff0c;更让人们无需佩戴任何头戴显示器&#xff0c;仅凭裸眼就能在任何平面上看到虚拟现实空间…

平衡小车——PID控制理论

开环控制 开环控制,全称开环控制系统(Open Loop Control System),又称为无反馈系统。即系统的输入可以影响输出,但是 输入不受输出影响 的系统。输入到输出的信号是单向传递的。 以下为生活中的例子: 控制系统 输入量 控制器 受控对象 输出量 风扇调速

基于代理IP的多线程爬虫实现

目录 前言 1. 爬虫的基本原理 2. 多线程爬虫的优势 3. 代理IP的应用 4. 基于代理IP的多线程爬虫实现 步骤1&#xff1a;导入必要的模块 步骤2&#xff1a;定义爬虫函数 步骤3&#xff1a;创建线程并启动爬虫 总结 前言 本文将介绍如何使用Python编写一个基于代理IP的多…

二十几种未授权访问漏洞合集

未授权访问漏洞是一个在企业内部非常常见的问题&#xff0c;这种问题通常都是由于安全配置不当、认证页面存在缺陷&#xff0c;或者压根就没有认证导致的。当某企业对外的服务端口、功能无限制开放&#xff0c;并且对用户的访问没有做任何限制的时候&#xff0c;可能会泄露出某…

C++重新认知:头文件的预处理

一、为什么头文件需要预处理 预处理的功能是对一个资源进行替换。 预处理的几种形式 常见的预处理指令&#xff1a; #define 宏定义 #undef 取消宏 #include 文本包含 #ifdef 如果宏被定义就进行编译 #ifndef 如果宏未被定义就进行编译 #endif 结束编译块的控制 #if 表达式非…

m1 + swoole(hyperf) + yasd + phpstorm 安装和debug

参考文档 Mac M1安装报错 checking for boost... configure: error: lib boost not found. Try: install boost library Issue #89 swoole/yasd GitHub 1.安装boost库 brew install boostbrew link boost 2.下载yasd git clone https://github.com/swoole/yasd.git 3.编…

【书生·浦语】大模型实战营——第四课笔记

教程链接&#xff1a;https://github.com/InternLM/tutorial/blob/main/xtuner/README.md 视频链接&#xff1a;https://www.bilibili.com/video/BV1yK4y1B75J/?vd_source5d94ee72ede352cb2dfc19e4694f7622 本次视频的内容分为以下四部分&#xff1a; 目录 微调简介 微调会使…

YOLOv5涨点改进:多层次特征融合(SDI),小目标涨点明显,| UNet v2,比UNet显存占用更少、参数更少

💡💡💡本文全网独家改进:多层次特征融合(SDI),能够显著提升不同尺度和小目标的识别率 💡💡💡在YOLOv5中如何使用 1)iAFF加入Neck替代Concat; 💡💡💡Yolov5/Yolov7魔术师,独家首发创新(原创),适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文…

灰色关联度分析详细Stata代码和说明(代码+案例数据+说明)

灰色关联度分析详细Stata代码和说明&#xff08;代码案例数据说明&#xff09; 因素分析的基本方法过去采用的主要是统计的方法&#xff0c;如回归分析&#xff0c;回归分析虽然是一种较通用的方法&#xff0c;但大都只用于少因素的、线性的。 对于多因素的&#xff0c;非线性…

漏洞分析|Cacti命令执行漏洞 (CVE-2022-46169)

1.漏洞描述 Cacti是一套基于PHP&#xff0c;MySQL&#xff0c;SNMP及RRDTool开发的网络流量监测图形分析工具&#xff0c;可为用户提供强大且可扩展的操作监控和故障管理框架。 该漏洞存在于remote_agent.php文件中&#xff0c;未经身份验证的恶意攻击者可以通过设置HTTP_变量…

HTML--表格

表格的基本结构 表格标题&#xff1a;caption 表格&#xff1a;table标签 行&#xff1a; tr标签 单元格&#xff1a;td标签 语法&#xff1a; <!DOCTYPE html> <html> <head> <title>这是一个标题</title><meta charset"utf-8"/&…

【LeetCode】19. 删除链表的倒数第 N 个结点(中等)——代码随想录算法训练营Day04

题目链接&#xff1a;19. 删除链表的倒数第 N 个结点 题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&a…

Python 二维平面Delaunay三角网建立

目录 一、算法概念二、代码实现三、结果示例根据二维平面内的离散点建立平面三角网。 一、算法概念 三角剖分与Delaunay剖分定义:如何把一个散点集剖分成不均匀的三角形网格,即在给定的平面点集上,生成三角形集合的过程。考虑平面点集P={p1,p2,p3,…,pn},我们希望得到三…

ROS无人机开发常见错误

飞控部分 一、解锁时飞控不闪红灯&#xff0c;无任何反应&#xff0c;地面站也无报错 解决办法&#xff1a; 打开地面站的遥控器一栏 首先检查右下角Channel Monitor是否有识别出遥控各通道的值&#xff0c;如果没有&#xff0c;检查遥控器是否打开&#xff0c;遥控器和接收…

C++学习笔记——私有继承、多重继承、类模板

目录 一、私有继承 二、多重继承 三、类模板 四、一个使用私有继承的示例代码 4.1代码 4.2输出结果 五、多重继承案列 六、类模板案例 C中的继承和模板是非常强大和灵活的特性&#xff0c;它们可以帮助我们实现代码复用、抽象和泛化等目标。本文将着重介绍私有继承、多…

如何公网远程访问Linux AMH服务器管理面板【内网穿透】

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装Cpolar4. 配置AMH面板公网地址5. 远程访问AMH面板6…