
Shell
文章平均质量分 59
BabyFish13
不要急,慢慢来;控制好节奏,奋斗到底!
展开
-
Shell标准输入、标准输出和标准错误及其重定向
Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。如果没有显式地进行重定向,命令通过文件描述符0从屏幕读取输入,通过文件描述符1和2将输出和错误信息输出到屏幕。原创 2024-12-29 20:16:10 · 405 阅读 · 0 评论 -
shell 数组详细用法
数组就是一系列元素的集合,一个数组内可以存放多个元素。# 方式一:array=(元素1 元素2 元素3)# 方式二:# 方式三:依次赋值# 方式四:利用执行命令的结果设置数组元素:array=($(命令))或者 array=(`命令`) 该方式会将命令的结果以空格为分隔符切成多个元素然后赋值给数组# ps:查看声明过的数组 declare -a。原创 2024-10-21 11:13:16 · 480 阅读 · 0 评论 -
shell数组计算
shell数之间差并计算。原创 2024-10-21 11:02:31 · 132 阅读 · 0 评论 -
Linux之AWK使用
awk是一种用于处理数据和生成报告的编程语言,也就是样式扫描和处理语言。一般的使用格式是:awk '{pattern + action}' {filenames}pattern指在每一行中进行匹配的条件,action指针对符合条件的行进行的操作,filenames是输入的文件名。例子:假设data文件中有以下数据:1 donald 305 200501292 chin 102 200401293 mark 304 20040229下面对这个文件进行操作:awk '原创 2022-04-25 11:49:00 · 692 阅读 · 0 评论 -
Unix/Linux之oracle相关shell
1、执行oracle数据库中的存储过程proc.sh脚本内容(IBM的AIX环境下)ORACLE_BASE=/oracle;export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/10.2.0;export ORACLE_HOMEORACLE_SID=commdb;export ORACLE_SID$ORACLE_HOME/bin/sqlplus cfa/cfa<<!exec sp_B_20090827;exit!2、备份.原创 2022-04-13 07:11:35 · 1401 阅读 · 0 评论 -
生产系统数据实时同步到rds数据仓库的一个样例
1、环境说明生产系统数据库是阿里云mysql型rds数据库,目标数据仓库也是阿里云mysql型rds数据库。由于数据高效抽取的需要,生产系统表字段timeline定义为记录新增或更新的时间戳,并且此字段需要添加索引。2、存储数据抽取时间的表CREATE TABLE `real_time_maintenance` ( `id` int(11) DEFAULT NULL,原创 2016-04-14 20:23:07 · 3967 阅读 · 0 评论 -
日志数据文件Json字段数据入库处理
本文相当于是:【大数据环境平台日志日常跑批整理 http://blog.youkuaiyun.com/babyfish13/article/details/50974308】的后续整理。1、程序目录路径[hs@master json_col_proc]$ pwd/home/hs/opt/User_Behavior_Log/json_col_proc2、调用python的shell脚原创 2016-04-12 18:42:51 · 2369 阅读 · 0 评论 -
大数据平台用于生成数据跑批脚本的脚本
1、脚本的目录结构/home/hs/opt/dw-etl/script_generate│ exec_hivessa_create_tab.sh│ exec_rdsssa_create_tab.sh│ rds-increment_tab_should_create_idx_sql.sh│ ssa-create_hive2mysql_increment_int_scrip原创 2016-03-24 14:58:23 · 18613 阅读 · 1 评论 -
用Shell根据AcessLog统计对应的点击量
环境说明:AcessLog已经装载到Hdfs上,数据的存储是按日期存放,每天数据又按机器名、小时命名的文件进行存放。正常情况,一天的数据文件2300多个,大小是3~400G。1、将数据按小时分块,并行计算执行时长,20分钟左右。目前三种方案中较理想与合理的一种。#!/bin/bash for(( i = 0; i < 24; i++ )) do {hour2=`pri原创 2017-04-11 16:36:16 · 566 阅读 · 0 评论 -
Shell打印日期范围的列表日期
1、输入两日期参数打印两日期范围内的日期列表printRangeDate.sh#!/bin/bash # startdate="$1"date1=$(date -d "$1" "+%s") date2=$(date -d "$2" "+%s") date_count=$(echo "$date2 - $date1"|bc) day_m=$(echo "$date_count原创 2017-04-17 11:19:26 · 3112 阅读 · 0 评论 -
分别用Shell和Python遍历查询Hdfs文件路径
1、使用Shell/Users/nisj/PycharmProjects/BiDataProc/getOssFileForDemo/getHdfsFilePath.sh#!/usr/bin/env bashfor file_path in `hadoop dfs -ls /tmp/oss_access/ | awk -F ' ' '{print $8}' ` do原创 2017-05-11 16:51:03 · 6648 阅读 · 0 评论 -
Hadoop之MapReduce调度:通过shell进行多日期的串行跑批统计
1、统计对应链接访问量的Python脚本由于业务上暂用不到reduce过程,所以只有一个mapper脚本。/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/filter_mapperOnly.py#!/usr/bin/env python# encoding: utf-8import sys# 输入为标准输入stdinfor l原创 2017-08-29 19:17:17 · 967 阅读 · 0 评论 -
Shell批量获取hive库中的建表语句
这里采用Shell的方法在hive库里面循环执行"show create table“获取其对应的建表语句;两个脚本,分别是两种方式,一个是"show tables"后将表列表生成文件,然后根据读取文件进行建表语句的查询;而第二种是在for条件中直接获取表的列表清单,然后查询建表语句;很明显,后一种方式简单明了。1、第一种方式/home/hadoop/nisj/xx/Yao/hiveTabMeta...原创 2018-04-04 14:34:20 · 4730 阅读 · 2 评论 -
linux文件每行数值总和相加
1、原始文件情况1.1、文件数[hadoop@emr-worker-10 result]$ ll room54000-htm_2018-* -rw-rw-r-- 1 hadoop hadoop 2 Oct 9 18:59 room54000-htm_2018-09-30-00.txt-rw-rw-r-- 1 hadoop hadoop 2 Oct 9 18:59 room54000-...原创 2018-10-10 10:00:12 · 16294 阅读 · 1 评论 -
大数据平台用于生成数据跑批脚本的脚本(version2.0)
一、脚本文件路径[hs@master script_generate]$ pwd/home/hs/opt/dw-etl/script_generate[hs@master script_generate]$ tree -f.├── ./batch_table.list├── ./etl_table_list_update.sh├─原创 2016-06-01 15:46:29 · 17955 阅读 · 0 评论 -
大数据平台用于生成数据跑批脚本的脚本(version3.0)
一、脚本文件路径[hs@master script_generate]$ pwd/home/hs/opt/dw-etl/script_generate [hs@master script_generate]$ tree -f.├── ./batch_table.list├── ./bigtable-create_allstage_suppertab_int_sc原创 2016-06-24 16:20:43 · 3067 阅读 · 0 评论 -
大数据平台新加接口表(或接口表表结构变更)脚本更新及数据初始化
与大数据平台用于生成数据跑批脚本的脚本(version3.0)对应。1、目录路径[hs@master manual_proc]$ pwd/home/hs/opt/dw-etl/manual_proc[hs@master manual_proc]$ tree -f.├── ./cstab_str+data_update.sh├── ./manual_update_原创 2016-06-24 17:19:42 · 1506 阅读 · 0 评论 -
Linux shell function study
语法:[ function ] funname [()]{ action; [return int;]}说明:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)实例(fun原创 2016-05-31 19:47:06 · 687 阅读 · 0 评论 -
Linux shell function call Sample
[hs@master Log_Data]$ cat dw_parameter_ex.sh#!/bin/bash#99_dianz total data proc ...src_dbip=`sh /home/hs/opt/public-function/getsrcinfo.fc dbip 99_dianz`src_user=`sh /home/hs/opt/public-原创 2016-06-01 11:45:02 · 1268 阅读 · 0 评论 -
大数平台数据仓库处理对应的总控调度
与[大数据平台用于生成数据跑批脚本的脚本(version3.0)]对应。1、定时执行情况[hs@master dw-etl]$ crontab -l*/5 * * * * sh /home/hs/opt/dw-etl/etl-script/qrt/qrt-minute_batch.sh0 * * * * sh /home/hs/opt/dw-etl/etl-script/q原创 2016-06-24 17:56:01 · 903 阅读 · 0 评论 -
Mysql分表数据通过Shell进行导出与统计
1、分表数据的统计[root@master tv]# cat submeter_data_static.sh #!/bin/bash#/usr/bin/mysql -hsrchostip -P50506 -usrcmysqluser -ppasswordstring -N -e"select table_name from information_schema.tables whe原创 2016-10-10 14:56:35 · 1782 阅读 · 0 评论 -
Shell中for循环的几个常用写法
第一类:数字性循环-----------------------------for1-1.sh#!/bin/bashfor((i=1;i<=10;i++));do echo $(expr $i \* 3 + 1);done-----------------------------for1-2.sh#!/bin/bashfor i in $原创 2016-10-31 11:44:56 · 230002 阅读 · 3 评论 -
Hadoop数据经Hive汇总计算之后导出到Mysql
1、程序路径及文件目录[hadoop@emr-worker-8 sdk-dataproc]$ pwd/home/hadoop/sdk-dataproc[hadoop@emr-worker-8 sdk-dataproc]$ lscorn-err.txt hive2mysql manual-sdk-ctl.sh nohup.out proc sdk-ctl.log sdk原创 2016-10-31 14:44:46 · 1862 阅读 · 0 评论 -
用Awk处理Access log请求信息
接上上文,《用Python和AWK结合处理Access log请求信息》--->http://blog.youkuaiyun.com/babyfish13/article/details/53436844及上文《用Python处理Access log请求信息》--->http://blog.youkuaiyun.com/babyfish13/article/details/53452995上上文中,基本上相当...原创 2016-12-05 07:02:59 · 636 阅读 · 0 评论 -
用Python和AWK结合处理Access log请求信息
本样例主要用于处理Tomcat及nginx的access访问日志请求信息,是一个初步的版本。在此基础之上,还可以进行多线程、在Hadoop上运行等优化处理,有待完善。1、示例原始access_log文件/Users/nisj/Desktop/new-demand/x-log.txt183.144.201.217 10.26.2.58|[06/Sep/2016:19:10:53 +08...原创 2016-12-02 17:35:22 · 5439 阅读 · 0 评论 -
使用Shell进行Mysql间数据以文本形式传输及注意事项
1、程序目录结构[tgt-user@master timeline]# pwd/tgt-user/timeline[tgt-user@master timeline]# tree.├── data│?? ├── jellyfish_user.user_profile.dat│?? └── jellyfish_user.user_profile.list└── etl原创 2016-12-07 20:54:16 · 766 阅读 · 0 评论 -
Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(1)
1、程序路径[root@slave1 dw-etl]# pwd/root/dw-etl[root@slave1 dw-etl]# tree.├── data│ └── qrt_data├── etl-script│ └── qrt│ ├── nohup.out│ ├── qrt-hour_batch.sh│ └── src2qrt原创 2016-12-17 11:23:02 · 1433 阅读 · 0 评论 -
Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(2)
本篇主要是接上文【Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(2)】-->http://blog.youkuaiyun.com/babyfish13/article/details/53705454,描述说明以一下获取数据库对应用户名和密码的两个Shell函数。1、目录路径[root@slave1 public-function]# pwd/root/public-function原创 2016-12-17 11:38:07 · 648 阅读 · 0 评论 -
Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(3)
本篇主要是接上文【Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(2)】-->http://blog.youkuaiyun.com/babyfish13/article/details/53705454,及【Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(3)】-->http://blog.youkuaiyun.com/babyfish13/article/details/53705729;具体说原创 2016-12-17 12:31:12 · 1185 阅读 · 0 评论 -
Linux下模拟多线程的并发shell脚本写法
一个在Linux下模拟多线程的并发的方法,使用这个方法可以同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多。1、不使用多线程的情况/Users/nisj/PycharmProjects/BiDataProc/UserPortrait/user_portrait_view_singleThread.sh#!/usr/bin/env原创 2017-03-03 16:39:46 · 4911 阅读 · 0 评论 -
通过Shell数组传参控制Sql脚本串并行调度一例
一、目录环境[hadoop@emr-worker-9 UserPortrait]$ pwd/home/hadoop/nisj/UserPortrait[hadoop@emr-worker-9 UserPortrait]$ lltotal 616-rw-r--r-- 1 hadoop hadoop 2516 Mar 7 18:21 indexCalc-barrage-byUidOn原创 2017-03-13 10:19:11 · 1129 阅读 · 0 评论 -
Linux shell “if else” 与 条件判定
Abstract:1)"if else"执行控制;2)数学逻辑条件比较与字符串比较。 1、" if else "执行控制Linux Shell 里面实现“ if else if else”执行控制如下:if条件;then 执行代码;elif条件;then 执行代码;else 执行代码;fi并且使原创 2016-05-16 11:49:01 · 1969 阅读 · 0 评论