常用的shell脚本

1. 时间相关
# 打印明天的的时间
echo `date -d "2018-10-10 +1 days" "+%Y-%m-%d %H:%M:%S"`
# 打印当前系统时间
echo `date -d "" "+%Y-%m-%d %H:%M:%S"`
2. 远程连接mysql获取查询结果(一个字段)
#!/bin/bash

# mysql -h[ip] -u[username] -p[password] -P[port] [database] [-N|--skip-column-names] -e ""
# -N|--skip-column-names:表示对查询结果不显示字段名
# -e:远程执行内容,不需要登录mysql
# 也可以将echo ${TEMP}替换为echo ${TEMP} > /home/yangqi/logs/mysql.log
# 表示将查询的结果变量直接打保存到mysql.log中
TEMP=$(mysql -hslave5 -uyangqi -pxiaoer -P3306 test1 --skip-column-names -e "select order_id from us_order;")
echo ${TEMP} [ > /home/yangqi/logs/mysql.log]
3. hive相关
3.1. 判断hive中的库是否存在
#!/bin/bash

# 数据库名称
DATABASE=databaseName

hive -e "desc database ${DATABASE};" 2>&1 | grep 'Database does not exist'
# $?:表示最后运行的命令的结束代码(返回值)
# 错误返回0,正确返回1
ISEXIST=$?
echo ${ISEXIST}
# if流程控制语句
if [ ${ISEXIST} -ne 0 ];
then
    echo The database ${DATABASE} already exist!
else
    echo The database ${DATABASE} is not exist!
fi
3.2. 判断hive中的表是否存在
#!/bin/bash

# 数据库名称
DATABASE=databaseName
# 表名称
TABLE=tableName

hive -e "desc ${DATABASE}.${TABLE};" 2>&1 | grep 'Table not found'
# $?:表示最后运行的命令的结束代码(返回值)
# 错误返回0,正确返回1
ISEXIST=$?
echo ${ISEXIST}
if [ ${ISEXIST} -ne 0 ];
then
    echo The table ${DATABASE}.${TABLE} already exist!
else
    echo The table ${DATABASE}.${TABLE} is not exist!
fi
3.3. 删除hive中已经存在的数据库
#!/bin/bash

# 数据库名称
DATABASE=databaseName

hive -e "drop database ${DATABASE} cascade;"
5.4. 在hive中创建数据库
#!/bin/bash

# 数据库名称
DATABASE=databaseName

hive -e "create database if not exists ${DATABASE};"
5.5. 在hive中创建表
#!/bin/bash

# 数据库名称
DATABASE=databaseName
# 表名称
TABLE=tableName

# partitioned by:可选内容,如果不是分区表,可以不使用
hive -e "use ${DATABASE}; create table if not exists ${TABLE} ( order_id int, order_no string, order_date timestamp, user_id int, user_name string, order_money double ) partitioned by (year string, month string, day string) row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfile;"
全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结: 27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务