shell编程
仰望星空的我
仰望星空,脚踏实地。
展开
-
shell中判断hive表分区是否存在
判断当日分区是否有数据,如果有执行任务,没有就退出 主要思路是如果分区存在且有数据,hdfs文件系统下的对应表分区下会有part-m-00000这个文件(不一定是这个名字,具体要用hadoop fs -ls /user/hive/warehouse/查看)temp0="part-" # 这里只取了"part-"这个字段 temp1=`hadoop fs -ls /use...转载 2019-07-16 15:06:43 · 2338 阅读 · 0 评论 -
在shell中如何判断HDFS中的文件目录是否存在
在Linux文件系统中,我们可以使用下面的Shell脚本判断某个文件是否存在: # 这里的-f参数判断$file是否存在 if [ ! -f "$file" ]; then echo "文件不存在!" fi 但是我们想判断HDFS上某个文件是否存在咋办呢?别急,Hadoop内置提供了判断某个文件是否存在的命令: [iteblog@www...转载 2019-07-16 15:04:52 · 489 阅读 · 0 评论 -
shell脚本调用hive示例
方法一: 建立shell脚本如下run.sh如下:#!/bin/sh #参数传递 source/etc/profile; source~/.bash_profile; BASEDIR=`dirname$0` cd$BASEDIR #classpath优先当前目录 CLASSPATH=$BASEDIR ...转载 2019-07-16 15:02:54 · 1852 阅读 · 1 评论 -
shell中循环调用hive sql 脚本
hive-S-e'uselogdb;showtables;'>table.txtwhilereadtabledoecho$tablehive-S-e"uselogdb;showcreatetable$table"done<table.txt脚本tt.sh的内容如下:#!/bin/bashparams=$1for ...转载 2019-07-16 15:01:38 · 2511 阅读 · 0 评论 -
Linux中使用sed命令替换字符串小结
sed替换的基本语法为:sed 's/原字符串/替换字符串/'单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,例如:sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号命令中的三根斜线分隔符可以换成别的符号,这在要替换...转载 2019-07-16 14:57:37 · 650 阅读 · 0 评论 -
Linux shell if判断语句
无论什么编程语言都离不开条件判断。SHELL也不例外。大体的格式如下:if list thendo something hereelif list thendo another thing hereelsedo something else herefi一个例子:#!/bin/shSYSTEM=`uname -s` # 获取操作系统类型,我本地是linuxif [ ...转载 2019-07-16 14:56:52 · 690 阅读 · 0 评论 -
awk实现join
awk 有时确实比较省事,做些简单的文本处理,还是很方便的,在这介绍下两个文件的join的操作。原始文本bb.txt 1 2 a 10 b 12 cc.txt 1 2 3 a 11 b 13 c 15 awk join主要是用到连个内置的变量 NR,FNR...转载 2019-06-28 15:44:23 · 746 阅读 · 0 评论