有没有一种方法可以检查在90天之前创建的配置单元外部表,并将这些表与基础hdfs数据一起删除。可以在Unix脚本中实现吗?
答案 0 :(得分:1)
请参见,如果配置单元表路径为<form style="padding:10px; margin:10px" action="" class=" form-inline">
<div class="form-group">
<div class="input-group">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control disabledClass" placeholder="1">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control disabledClass" placeholder="2" >
</div>
</div>
</div>
</div>
</form>
CSS:
.disabledClass{
background: #f1f1f1;
pointer-events: none;
}
,如下所示:
/path/your_hive_table_path/
我们可以获取表文件的最新更新日期,如下所示:
hadoop --cluster your-hadoop-cluster fs -ls /path/your_hive_table_path/
drwxrwxrwx+ - h_mifi supergroup 0 2019-01-24 10:33 /path/your_hive_table_path//mifidw_car_insurance_expire_month_data
drwxrwxrwx+ - h_mifi supergroup 0 2019-01-24 10:39 /path/your_hive_table_path//mifidw_car_owner
drwxr-xr-x+ - h_mifi supergroup 0 2019-05-30 03:01 /path/your_hive_table_path//push_credit_card_mine_result_new
drwxr-xr-x+ - h_mifi supergroup 0 2019-05-30 03:41 /path/your_hive_table_path//push_live_payment_bill_mine_result_new
我们需要一个hadoop --cluster your-hadoop-cluster fs -ls /path/your_hive_table_path/ | awk -F'[ ]+' '{print $6}'
2019-01-24
2019-01-24
2019-05-30
2019-05-30
来检查每个表是否超过90天并执行loop
和remove
操作。完整的shell脚本在下面,我已经测试过了,效果很好,希望对您有帮助。
drop