Init腳本通常用於配置Databricks集群。
在某些情況下,您可能希望在初始化腳本中實現重試。
初始化腳本示例
這個初始化腳本示例向您展示了如何實現基本複製操作的重試。
您可以使用此示例代碼作為在自己的init腳本中實現重試的基礎。
%scala dbutils.fs.put("dbfs:/databricks//retry-example-init.sh", """#!/bin/bash返回“start script at ' date '”函數失敗{echo $1 >&2 exit 1}函數重試{本地n=1本地最大=5本地延遲=5 while true;執行“$@”&& break || {if [[$n -lt $max]];then ((n++)) echo "命令執行失敗。try $n/$max: ' date ' " sleep $delay;ps aux > /tmp/ps_info.txt debug_log_file=debug_logs_${HOSTNAME}_$(date +"%Y-%m-%d——%H-% m ").zip zip -r /tmp/${debug_log_file} /var/log/ /tmp/ps_info.txt /databricks/data/logs/ cp /tmp/${debug_log_file} /dbfs/tmp/ fail "The command has failed after $n attempts. "' date ' " fi} done} sleep 15s echo "starting copy at ' date ' " retry cp -rv /dbfs/libraries/xyz.jar /databricks/jars/ echo "完成腳本at ' date ' " """, true)