当前位置: 首页 > news >正文

dpi数据接入shell脚

原文:dpi数据接入shell脚本_weixin_34416754的博客-CSDN博客

##############从ftp服务器拿数据文件

#!/bin/bash

#获取感知优良率DPI数据
#DCN服务器信息
u=Sichuan
p=S988188#
ip=137.192.5.53

#获取日期,根据日期抓取文件
T=`date -d "3 days ago" +%Y%m%d`

#写入日志
echo "(`date`) get data start...." >> /vm/hym/dpidata/getdata.log
echo "===================================================" >> /vm/hym/dpidata/getdata.log
function getdata_from_ftp(){
ftp -n <<EOF
open ${ip}
user ${u} ${p}
binary
cd / #远程服务器文件目录

#打开交互模式
prompt off
#下载特定日期的数据文件
mget *$T*
close
bye
EOF
}

#从DCN服务器get数据到本地目录
getdata_from_ftp >>/vm/hym/dpidata/getdata.log

#批量处理数据文件,将'|' 替换为','
sed -i 's/|/,/g' *$T*

#拷贝当天的数据文件到88服务器
scp *$T* root@133.37.23.88:/home/hdfs/hym/dpidata/

#触发88服务器上面put数据到hdfs的脚本
ssh root@133.37.23.88<<EOF
cd /home/hdfs/hym/dpidata/
sh put_data.sh ${T}
EOF

##############从ftp服务器拿数据文件,放到hive表里 

#!/bin/bash

#获取数据的天分区
T=`date -d "3 days ago" +%Y-%m-%d`

#在hdfs建立文件路径,将数据文件Put到hdfs
su - hdfs -c "hdfs dfs -mkdir -p /zxvmax/telecom/union/mobile_good_rate_DPI_GP_date/p_provincecode=510000/p_date=$T"
su - hdfs -c "hdfs dfs -put /home/hdfs/hym/dpidata/GP_$1.txt /zxvmax/telecom/union/mobile_good_rate_DPI_GP_date/p_provincecode=510000/p_date=$T"

su - hdfs -c "hdfs dfs -mkdir -p /zxvmax/telecom/union/mobile_good_rate_DPI_GR_date/p_provincecode=510000/p_date=$T"
su - hdfs -c "hdfs dfs -put /home/hdfs/hym/dpidata/GR_$1.txt /zxvmax/telecom/union/mobile_good_rate_DPI_GR_date/p_provincecode=510000/p_date=$T"

su - hdfs -c "hdfs dfs -mkdir -p /zxvmax/telecom/union/mobile_good_rate_DPI_EC_date/p_provincecode=510000/p_date=$T"
su - hdfs -c "hdfs dfs -put /home/hdfs/hym/dpidata/EC_$1.txt /zxvmax/telecom/union/mobile_good_rate_DPI_EC_date/p_provincecode=510000/p_date=$T"


#连接spark,修复表分区
/home/mr/spark/bin/beeline -u jdbc:hive2://133.37.23.88:18000/zxvmax -n mr -p ""<<Eof
msck repair table mobile_good_rate_DPI_EC_date;
msck repair table mobile_good_rate_DPI_GR_date;
msck repair table mobile_good_rate_DPI_GP_date;
Eof

http://www.lryc.cn/news/26099.html

相关文章:

  • Easyrecovery数据恢复软件工作原理及使用介绍教程
  • 【面试题】社招中级前端笔试面试题总结
  • 设备运行状况不能远程手机查看。难道就妥协吗?为何不试试这个办法
  • 重新认识 Java 中的内存映射(mmap)
  • 224. 基本计算器
  • 微信小程序通过 node 连接 mysql——方法,简要原理,及一些常见问题
  • uni-app项目搭建和代码托管
  • win10+python3.6+cuda9+pytorch1.1.0安装
  • 【2023】某python语言程序设计跟学第二周内容
  • spring源码篇——BeanDefinition的注册
  • virtualbox7虚拟机中安装苹果macOS big sur系统详细教程
  • 用spectralayers 简单去一下人声做个伴奏
  • 高峰对话|深度探讨「多云与边缘」
  • 开发手册——一、编程规约_2.常量定义
  • Sandstorm 建设者亮点——2023 年 2 月
  • MyBatis快速入门
  • Mysql的一些提权方式(mysql提权、UDF)
  • 【2023】DevOps、SRE、运维开发面试宝典之Docker相关面试题
  • 圣杯布局的实现方式
  • RecastDemo用法
  • IIC总线式驱动开发(mpu6050)(二)
  • 盘点一下那些远程办公的神仙公司
  • Spring Cloud Alibaba全家桶(四)——微服务调用组件Feign
  • 安装pytorch
  • 自动化测试 Appium之Python运行环境搭建 Part2
  • LeetCode 2 - 两数相加
  • 用Python实现九九乘法表的几种方式,最简单只需一行代码
  • 入职外包三个月,我提桶跑路了
  • 企业邮箱对企业有哪些好处以及便捷性
  • ConvNeXt V2实战:使用ConvNeXt V2实现图像分类任务(一)