天天看點

Dataworks小技巧:巧用模闆提升效率

我在使用DataWork開發機器學習算法的時候,喜歡使用ODPS SQL+PAI指令(我叫它PAI SQL)的開發模式。PAI SQL的優點是簡單易用,便于跟蹤維護。缺點代碼複用性較差(因為不支援函數),尤其是進行不斷探索的時候,經常需要在上一版的代碼上修改幾個變量,或者幾個參數,這個時候如果直接修改的時候效率很低而且容易出錯。我發現這部分問題通過用編寫代碼生成函數(Python)和代碼模闆來解決。

代碼如下:

def template(filename,outfilename,template):

with open(filename, "r+") as myfile:
    strcontent=myfile.read()
for key in template.keys():
    strcontent=strcontent.replace(key,template[key])
    print(key)
with open(outfilename, "w") as myfile:
    myfile.write(strcontent)
               

通過優化模闆可以大幅減少BUG、生成的代碼可以無人值守的執行,一次性對多個實驗方案進行驗證,效率很高。