当前位置: 首页 > 编程笔记 >

为Hive添加回收站功能防止意外删除文件

程祯
2023-05-16

大家有没有想过一个问题:hive的数据如果不小心误删了 ,怎么恢复?

hdfs的数据删除了, 默认没有进行配置hdfs的回收站, 立即删除 为了保证数据的安全性 ,一般情况下会进行hdfs的回收站的配置。


Hive中的回收站是通过HDFS的Trash功能实现,Trash功能可以将HDFS中删除的文件放入回收站目录(默认回收站目录/user/root/.Trash/Current,其中回收站目录中的root会根据当前操作HDFS的用户名而变化),防止用户意外删除文件,出现无法找回的情况。Hive内部表的数据存放在HDFS中,并且删除内部表时数据也会一同被删除,所以为了防止用户意外删除Hive内部表造成数据丢失的情况,可以在删除内部表的语句中指定PURGE,将删除的内部表数据放入回收站目录,后续复制回收站目录中删除的内部表数据即可。

HDFS默认情况下并没有开启Trash功能,需要在Hadoop的配置文件core-site.xml的<configuration/>标签中添加如下配置内容。

<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>
<property>
    <name>fs.trash,checkpoint.interval</name>
    <valpe>60</value>
</property>

上述配置内容中,参数fs.trash.interval表示回收站目录中文件保存的时间,该参数的默认值为0(分钟),也就是不保存,这里指定参数值为1440,也就是被删除的文件会在回收站目录保存一天;参数fs.trash.checkpoint.interval表示NameNode检查回收站目录间隔的时长,这里指定参数值为60,也就是NameNode每间隔一小时检查一次回收站目录,永久删除回收站目录中存放时长超过一天的文件。

在3台虚拟机Node_01、Node_02和Node_03的Hadoop配置文件core-site.xml中分别添加上述内容,添加完成后需要重新启动Hadoop集群使配置内容生效。


 类似资料:
  • 我有一个recycle view,用户可以在其中将一个项目拖放到recycle view中的不同位置。 到目前为止,一切正常。 我的问题始于RecyclerView中的项目超过了它可以显示的数量。所以当它回收他的内容时。当用户将项目拖放到不同的位置,然后滚动离开该零件时,不会保存位置更改。用户只看到项目的旧位置。 您可以在下面的.gif中看到此问题。 我已经尝试了几件事,比如: 和 在我的onBi

  • 本文向大家介绍dotnet如何将文件删除到回收站,包括了dotnet如何将文件删除到回收站的使用技巧和注意事项,需要的朋友参考一下 前言 默认删除文件的时候 File.Delete 是将文件永久删除,如果是一些文档,建议删除到回收站,这样用户可以自己还原 通过 SHFileOperation 可以将文件放在回收站 本文提供的方法暂时只能在 x86 程序使用,此方法暂时不适合 dotnet core

  • 本文向大家介绍基于jQuery实现拖拽图标到回收站并删除功能,包括了基于jQuery实现拖拽图标到回收站并删除功能的使用技巧和注意事项,需要的朋友参考一下 本文利用jQuery实现一个拖拽删除桌面小图标的功能,使用起来就像操作系统的回收站一样,我们只需要拖动应用图标至垃圾箱即可删除这个图标,分享给大家,具体实现方法如下 运行效果图: 引入核心文件 这里需要引入jquery,jquery ui,与j

  • 问题内容: 我正在开发一个Java桌面应用程序,其中需要实现回收站功能。目前: 我使用桌面应用程序将文件复制到名为回收站的文件夹中,然后删除原始文件。 我将目标路径存储在一个文本文件中,该文件已被删除,只是为了将文件还原到原始位置。 还原文件时,我只是将文件移到原始位置。 我的问题是,当从不同位置删除具有相同名称的文件时,所有移至由我创建的回收站文件夹和具有相同名称的旧文件的所有文件都将被覆盖。

  • 问题内容: Java 是这里的关键。我需要能够删除文件,但是用户希望能够从回收站中“取消删除”。据我所知这是不可能的。有人知道吗? 问题答案: 由于各种原因,Windows 没有简单地对应于回收站的文件夹的概念。 正确的方法是使用JNI调用Windows API,并在结构中设置标志。 SHFileOperation文档 使用SHFileOperation复制文件的Java示例(同一文章中的“回收站

  • 这两次尝试都给了我一个。 如何删除文件夹??

  • 本文向大家介绍为Nginx添加SPDY功能,包括了为Nginx添加SPDY功能的使用技巧和注意事项,需要的朋友参考一下 本人帮协会搭的论坛,一直是使用ssl访问的,但是普通的https既慢又吃资源,而有个协议可以很方便的解决这个问题,那就是大Google发明的SPDY协议。所以,我也开始尝试着给自己的论坛加上SPDY协议,WEB服务器本人选择的是nginx,在过去,Nginx并没有内置SPDY协议

  • elasticSearch安装 elasticSearch服务的安装请见我的上一篇文章《教你成为全栈工程师(Full Stack Developer) 二十四-ES(elasticsearch)搜索引擎安装和使用》 elastic-bundle插件安装 需要在我们的symfony2项目中安装elastic-bundle插件,执行 [root@centos7vm mywebsite]# compo