百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

0424-如何清理Sqoop脚本产生的临时编译目录

bigegpt 2024-09-14 00:14 8 浏览

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github:

https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


在使用Sqoop命令进行数据抽取时,执行的抽数脚本会在/tmp/sqoop-${user}/compile目录下产生临时的编译文件,脚本执行成功后这些生成的临时文件并不会自动的清除。该问题是官网已知的一个JIRA,具体可信息如下链接:

https://issues.apache.org/jira/browse/SQOOP-3042

本篇文章Fayson主要介绍通过脚本的方式,在用户执行Sqoop命令时自动的清理产生的临时编译目录。

  • 内容概述

1.环境准备

2.Sqoop配置清理脚本及验证

3.总结

  • 测试环境

1.RedHat7.3

2.CM和CDH版本为5.15

2.环境准备


1.在集群所有节点安装tmpwatch,命令如下:

[root@cdh03 ~]# yum -y install tmpwatch

(可左右滑动)

2.通过CM安装“Sqoop 1 Client1”服务

选择Gateway节点

部署客户端配置

Sqoop 1 Client服务安装成功

3.Sqoop配置清理脚本


1.进入“Sqoop 1 Client”服务的配置界面

2.在搜索栏,搜索“sqoop-env.sh”,在配置项中增加如下脚本

#清除一天前当前用户临时编译目录
expires=1d
echo
echo SQOOP COMPILE DIR DIRECTORY COUNT
 ls -ltd /tmp/sqoop-"$USER"/compile/* | wc
echo SQOOP COMPILE DIR FILES COUNT
 ls -ltR /tmp/sqoop-"$USER"/compile/* | wc
echo SQOOP COMPILE DIR OLDEST DIRECTORY
 ls -ltd /tmp/sqoop-"$USER"/compile/* | tail -1
echo SQOOP COMPILE DIR TMPWATCH $expires DELETE TEST
 tmpwatch --test $expires /tmp/sqoop*/compile/ | wc
echo SQOOP COMPILE DIR TMPWATCH $expires DELETE
 tmpwatch $expires /tmp/sqoop-"$USER"/compile/ | wc
echo SQOOP COMPILE DIR DIRECTORY COUNT
 ls -ltd /tmp/sqoop-"$USER"/compile/* | wc
echo SQOOP COMPILE DIR FILES COUNT
 ls -ltR /tmp/sqoop-"$USER"/compile/* | wc
echo SQOOP COMPILE DIR OLDEST DIRECTORY
 ls -ltd /tmp/sqoop-"$USER"/compile/* | tail -1
echo

(可左右滑动)

3.保存配置并重新部署客户端配置

4.验证脚本


这里Fayson将清理脚本设置为1h即清理1小时前生成的编译文件及目录。

1.查看root用户的/tmp/sqoop-root/compile目录下的编译目录

compile目录下有两个编译目录,885f8开头目录的创建时间在1个小时前。

2.使用sqoop命令进行数据抽取

sqoop import \
--connect "jdbc:mysql://cdh02.fayson.com:3306/metastore" \
--username root \
--password 123456 \
--query 'select c.NAME,c.DB_LOCATION_URI,a.TBL_NAME,a.OWNER,a.TBL_TYPE,b.LOCATION from TBLS a,SDS b,DBS c where a.SD_ID=b.SD_ID and a.DB_ID=c.DB_ID and $CONDITIONS' \
--fields-terminated-by ',' \
--delete-target-dir \
--hive-database default \
--target-dir /tmp/hive_tables \
--create-hive-table \
--hive-import \
--hive-overwrite \
--hive-table hive_tables \
--m 1

(可左右滑动)

可以看到在执行sqoop命令时,会输出上图标注部分的日志信息,即为Fayson配置清理脚本输出的日志。

3.查看/tmp/sqoop-root/compile目录的编译目录

可以看到compile目录下,“885f8”开头在一个小时前的日志目录已被清理。

5.总结


1.Sqoop没有自动清除/tmp/sqoop-${user}/compile下的编译目录,在3.0.0版本才被修改,在CDH中的Sqoop也并未修复该问题。

2.本文Fayson通过在Sqoop的运行环境中添加清理脚本,来实现编译目录的清理。

3.默认情况是不需要安装“Sqoop 1 Client”服务的,因为需要借助于CM统一的在Sqoop的运行环境中添加脚本。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

相关推荐

或者这些Joplin插件也可以帮助你的笔记应用再一次强大

写在前面距离上次分享《搭建私有全平台多端同步笔记,群晖NAS自建JoplinServer服务》已过去一段时间,大家是否开始使用起来了呢?如果你和我一样已经使用过Joplin有一段时间了,那或许你也会...

Three.JS教程4 threejs中的辅助类

一、辅助类简介Three.js提供了一些辅助类(Helpers)以帮助我们更容易地调试、可视化场景中的元素。ArrowHelepr:创建箭头辅助器;AxisHelper:创建坐标轴辅助器;BoxH...

第2章 还记得点、线、面吗(二)(第二章还能敲钟吗)

glbgltf模型(webvrmodel)-gltf模型下载定制,glb模型下载定制,三维项目电商网站在线三维展示,usdz格式,vr模型网,网页VR模型下载,三维模型下载,webgl网页模型下载我...

如何检查Linux系统硬件信息?从CPU到显卡,一网打尽!

你可能会问:“我为什么要关心硬件信息?”答案很简单:硬件是Linux系统的根基,了解它可以帮你解决很多实际问题。比如:性能调优:知道CPU核心数和内存大小,才能更好地调整程序运行参数。故障排查:系统卡...

SpriteJS:图形库造轮子的那些事儿

从2017年到2020年,我花了大约4年的时间,从零到一,实现了一个可切换WebGL和Canvas2D渲染的,跨平台支持浏览器、SSR、小程序,基于DOM结构和支持响应式的,高...

平时积累的FPGA知识点(6)(fpga经典应用100例)

平时在FPGA群聊等积累的FPGA知识点,第六期:1万兆网接口,发三十万包,会出现掉几包的情况,为什么?原因:没做时钟约束,万兆网接口的实现,本质上都是高速serdes,用IP的话,IP会自带约束。...

芯片逻辑调度框架设计 都需要那些那些软件工具

设计芯片逻辑调度框架通常需要使用以下软件工具:1.逻辑设计工具:例如Vivado、Quartus、SynopsysDesignCompiler等,用于设计和实现逻辑电路。2.仿真工具:例如Mo...

ZYNQ与DSP之间EMIF16通信(正点原子领航者zynq之fpga开发指南v3)

本文主要介绍说明XQ6657Z35-EVM高速数据处理评估板ZYNQ与DSP之间EMIF16通信的功能、使用步骤以及各个例程的运行效果。[基于TIKeyStone架构C6000系列TMS320C6...

好课推荐:从零开始大战FPGA(从零开始的冒险4399)

从零开始大战FPGA引子:本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“...

业界第一个真正意义上开源100 Gbps NIC Corundum介绍

来源:内容由「网络交换FPGA」编译自「FCCM2020」,谢谢。FCCM2020在5月4日开始线上举行,对外免费。我们有幸聆听了其中一个有关100G开源NIC的介绍,我们对该文章进行了翻译,并对其中...

高层次综合:解锁FPGA广阔应用的最后一块拼图

我们为什么需要高层次综合高层次综合(High-levelSynthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。所谓的高层次语言,包括C、C++...

Xilinx文档编号及其内容索引(部分)

Xilinx文档的数量非常多。即使全职从事FPGA相关工作,没有几年时间不可能对器件特性、应用、注意事项等等有较为全面的了解。本文记录了我自使用Xilinx系列FPGA以来或精读、或翻阅、或查询过的文...

Xilinx Vivado联合Modelsim软件仿真

引言:Xilinx公司Vivado开发软件自带仿真工具,可以实现一般性能的FPGA软件仿真测试,其测试执行效率以及性能都不如第三方专用仿真软件Modelsim强。本文我们介绍下如何进行Vivado20...

体育动画直播是怎么做出来的?从数据到虚拟赛场的科技魔法!

你是否见过这样的比赛直播?没有真实球员,却能看梅西带球突破?足球比赛变成动画版,但数据100%真实?电竞比赛用虚拟形象直播,选手操作实时同步?这就是体育动画直播——一种融合实时数据、游戏引擎和AI的...

Dialogue between CPC and political parties of neighboring countries held in Beijing

BEIJING,May26(Xinhua)--TheCommunistPartyofChina(CPC)inDialoguewithPoliticalPartiesof...