1、airflow上的task1依賴於task2,如何讓task1在task2完成後45分鐘啟動?
背景:task1是個sqoop匯入任務,task2是個sqoop匯出任務,匯出會導致mysql主從延遲,這裡設定了延時45分鐘啟動task1來解決這個問題,具體時間可根據實際情況調整。
default_args =
dag = dag(
'dag_name'
, default_args=default_args, schedule_interval=
'25 1 * * *'
)#每日1:25分啟動此dag
# 臨時方案:在對應的指令碼完成操作後推遲45分鐘再觸發任務
task_name = pythonoperator(
task_id=
'task_name'
, python_callable=time_module.sleep,
op_args=[45
*60],
pool=
"***_pool"
,#airflow中配置好的
dag=dag,
retries=1,
)
2、hive->mysql,sqoop匯出資料量上萬,導致mysql主從延時,如何解決?
新增欄位到源表,新字段存放隨機數,根據一次匯出的資料量要求決定隨機數範圍,如30w資料量,運維需要你一次1萬條資料匯出,那這裡就分30次匯出,隨機數範圍設定為0-30:cast(rand() * 30 as int) as rand
新建中間表,表結構與匯出目標表結構要一致,這是sqoop匯出有效的要求。新增過濾where rand=$
sqoop匯出指令碼,設定遍歷匯出:
for rand_num in
do echo "----rand_num = $ ----"
中間表產生過程
sqoop匯出
echo "sleep 10s"
sleep 10
done
echo "finished sqoop export!"
延時啟動指令碼
客戶機的延時啟動指令碼 先複製以下 dim objshell set objshell wscript.createobject wscript.shell wscript.sleep 10000 ireturn objshell.run cmd.exe c server start start.b...
bat 延時啟動某個應用
1 bat延時 xp程式中通過ping 127.0.0.1 n 20 來實現延時操作,ping本地位址20行。win7中通過timeout 20 來實現延時20秒。2 刪除指定檔案 del q d 11 刪除d 11資料夾下的所有檔案,並且不需要提示刪除。p 刪除每乙個檔案之前提示確認。f 強制刪除...
延時啟動的批處理
希望每次進入windows後,自動執行emule,先是直接把emule.exe丟到startup群組裡,結果發現可以啟動,但是upnp總是提示錯誤,連伺服器總提示lowid。後來發現如果開機後等一段時間再啟動emule,upnp就正常了。所以寫了個簡單的批處理,一共3句話 echo offtimeo...