天天看點

MaxCompute auto increment PythonUDF

 有一些時候需要生成一個自增的id,以便能和mysql的表對應進行同步。參考了相關文檔,寫了一個python版的udf。

# coding=utf-8     from odps.udf import annotate     @annotate("*->bigint")     class AutoIncrement(object):         count=0         def evaluate(self,*args):             base =0             if len(args)==1 and isinstance(args[0],(int,long)) and args[0]>=0 :                 base=args[0]             self.count=self.count+1             return self.count+base           

  這個方法接受變長的參數,參數可以用來指定auto increment開始的值。當且僅當傳入參數的個數為1,并且是大于等于0的int或者long才會生效。

轉自臨欄