天天看点

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才会生效。

转自临栏