#!/bin/bash
#description:for special table invalid metadata;
function grep_databseAndTableName(){
for file in $(ls *.sh)
do
grep -o 'database\s\+\w\+\s\+\-*\w*\-\+\w\+\s\+\w\+' $file>>metadata_$file
done
}
grep_databseAndTableName
echo "done grep database and tableName"
function create_invalidMetaDataSh(){
for metadataFile in $(ls metadata*.sh)
do
cat $metadataFile |while read line
do
database=`echo "$line" | awk -F " " '{print $2}' | sort | uniq`
tableName=`echo "$line" | awk -F " " '{print $NF}' | sort | uniq`
echo "impala-shell -q 'invalidate metadata $database.$tableName'">> invalidate_matadata_$metadataFile
done
done
}
create_invalidMetaDataSh
echo "done print invalidate shell"
sqoop脚本举例
sqoop import
--connect jdbc:mysql://xxx/hb_paycenter_db?tinyInt1isBit=false --username xxx
--password xxx
--table nuggets_refund --hive-import --hive-overwrite --hive-database hb_paycenter_db
--hive-table nuggets_refund --fields-terminated-by '\001' --null-string '\\N'
--null-non-string '\\N'
--delete-target-dir
--columns 'refund_id,contract_index,product_loan_index,period,refund_type,pending_clear_amt,status,create_time,update_time,valid,rpy_pre_dt,rpy_pre_jrn,rpy_ord_no,rpy_ord_dt,batch_no,crd_no_last,bank_code,ac_pay_typ,status_msg,bus_rsp_cd,with_drw_typ,clear_amt,is_notify,remark,dis_fee,dis_to_account,serial_no,telephone,id_num,real_name'
--m 2;
过滤正则表达式
正则表达式:database\s+\w+\s+-\w-+\w+\s+\w+
过滤命令
grep -o ‘database\s+\w+\s+-\w-+\w+\s+\w+’ import_hotdata_ods.sh>>test
过滤结果
database xxx --hive-table xxx
database xxx --hive-table xxx
database xxx --hive-table urge_shop_tpl_log
最终结果
impala-shell -q ‘invalidate metadata xxx.xxx’
impala-shell -q ‘invalidate metadata xxx.xxx’
impala-shell -q ‘invalidate metadata xxx.xxx’
impala-shell -q ‘invalidate metadata xxx.debit_ceb_contract_info’
impala-shell -q ‘invalidate metadata xxx.xxx’
版权声明:本文为qq_41794285原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。