文档章节

shell中如何调用hive

卖火柴的小咸肉
 卖火柴的小咸肉
发布于 2015/07/03 10:01
字数 332
阅读 22
收藏 0
#!/bin/bash

#cd /DPI_ETL/transfer/liming/

cd /home/noc/xwtec/down_list/data

suflist=`ls label_*.dat|head -1|cut -d '_' -f2` 1>>/dev/null 2>>/dev/null

#echo $suflist

#cp label_$suflist /home/noc/xwtec/down_config/data/label_$suflist

sufcfg=`ls label_appct_*.cfg|head -1|cut -d '_' -f3`

#echo $sufcfg

list=`echo $suflist|cut -d '.' -f1`

cfg=`echo $sufcfg|cut -d '.' -f1`

if [[ -e label_$suflist ]] && [[ -e label_cfg_$sufcfg ]] && [[ $list = $cfg ]]

then

    cp label_$suflist /home/noc/xwtec/down_config/data/label_$suflist

    sufresult=`echo $suflist|cut -d '.' -f1`

    echo $sufresult

    sed 's/[ \t]*$//g' -i label_$suflist

    appdate1=`cat label_appct_$sufcfg|awk 'BEGIN{FS=":"}{print substr($2,1,8)}'|head -1`

    appdate2=`cat label_appct_$sufcfg|awk 'BEGIN{FS=":"}{print substr($2,1,8)}'|head -1|sort -r|head -1`

    echo $appdate1

    echo $appdate2

    mv label_$suflist   liming_test_mdn.txt 

#rm /DPI_ETL/transfer/liming/liming_test_mdn.txt

    mv liming_test_mdn.txt /DPI_ETL/transfer/liming/

    cd /DPI_ETL/transfer/liming/

    sh  move_yym_mdn.sh

    cd /home/noc/xwtec 

#hive -f hive.sql

    echo "use noc_dpi;CREATE table IF NOT EXISTS tmp_yym_app(appname STRING, mdn_num int, inputoctets int,outputoctet int)

row format delimited fields terminated by '|' stored as textfile

location '/user/noc/private/tmp_yym_app';

insert overwrite table tmp_yym_app

select tt.appname,count(distinct mdn),sum(tt.inputoctets),sum(tt.outputoctets) from

(select t.*  from NOC_3G_APP_USER_SUMMARY  t join liming_test_mdn m on

 t.mdn=m.mdn and m.mdn<>'' and m.mdn is not null where t.dt>=$appdate1 and t.dt<=$appdate1

union all

  select t.*  from NOC_4G_APP_USER_SUMMARY  t join liming_test_mdn m on

 t.mdn=m.mdn and m.mdn<>'' and m.mdn is not null where t.dt>=$appdate1 and t.dt<=$appdate2) tt

 group by tt.appname;"|hive

    sleep 10s

    rm -r /home/noc/xwtec/tmp_yym_app

    hadoop fs -get /user/noc/private/tmp_yym_app /home/noc/xwtec/tmp_yym_app

    cat  /home/noc/xwtec/tmp_yym_app/* >>label_appct_$sufresult.tmp

    iconv -f utf-8 -t gbk label_appct_$sufresult.tmp>>label_appct_$sufresult.result

    rm label_appct_$sufresult.tmp

    cd  /home/noc/xwtec/down_list/data/

    mv label_appct_$sufresult.result /home/noc/xwtec/up_result/data/

    mv label_appct_$sufcfg /home/noc/xwtec/down_config/data

else

   exit 0

fi

© 著作权归作者所有

卖火柴的小咸肉
粉丝 5
博文 112
码字总数 43021
作品 0
南京
高级程序员
私信 提问
hive(05)、使用JAVA对数据仓库HIVE进行操作

本文代码码云地址:https://gitee.com/MaxBill/HSDP 在前文中我们实践了基于hadoop的数据仓库hive的安装、配置、应用、扩展等,那么我们在实际中该如何通过程序调用(用户接口)开发呢,hiv...

MaxBill
2018/01/16
752
0
004.hive命令的3种调用方式 | ApacheCN(apache中文网)

ApacheCN apache中文网 hive命令的3种调用方式 官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli(可参考) 方式1:hive –f /root/shell/hive-script.sql......

片刻
2014/01/13
29.8K
0
crontab 执行环境变量的问题

记录一下一个折磨我N天的crontab的问题 问题是这样的 我写了个php脚本run.php ,脚本里面调用了一下hive命令(hadoop相关的东西)生成hive_result.txt,同时在hive命令执行前和执行后都会用php...

loveczp
2013/12/17
5.5K
3
如何在Hive中创建自定义函数UDF及如何直接通过Impala的同步元数据重用UDF的jar文件

如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译; 1.使用Intellij工具通过Maven创建一个Java工程,并添...

阿姆斯特芬
昨天
0
0
玩转大数据系列之Apache Pig高级技能之函数编程(六)

原创不易,转载请务必注明,原创地址,谢谢配合! http://my.oschina.net/u/1027043/blog Pig系列的学习文档,希望对大家有用,感谢关注散仙! Apache Pig的前世今生 Apache Pig如何自定义UDF...

九劫散仙
2015/03/18
112
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink Graph生成及Hash生成分析

222

MrPei
9分钟前
1
0
[译]Android Activity 和 Fragment 状态保存与恢复的最佳实践

https://blog.csdn.net/growing_tree/article/details/53759564 https://blog.csdn.net/u013588712/article/details/54691791...

shzwork
9分钟前
1
0
调用第三方快递鸟物流单号查询接口API代码示例

最近进行网站后台开发,需要实现物流的即时查询,发现之前集成的 快递100物流查询 API ——【PHP 快递查询源码资源】 已经不能正常使用了; 为了方便以后的业务需求,经过比较,最后选择使用...

程序的小猿
17分钟前
2
0
java Poi 操作执行excel 文件中函数问题

poi 读取excel 文件,当excel 有函数时,poi直接读取返回的是excel 函数,并不能返回函数计算结果: 解决步骤: sheet.setForceFormulaRecalculation(true); 判断该列格式是否为...

早a
24分钟前
3
0
js模拟实现输入框input事件

直接修改value值是无法触发对应元素的事件的。 通过发送输入框input事件了, 可以触发。 这里简单封装了一个方法. window.inputValue = function (dom, st) { var evt = new InputEvent('i...

開援带碼
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部