def generate_func(self, serialized_fn): pandas_functions, variable_dict, user_defined_funcs = reduce( lambda x, y: ( ','.join([x[0], y[0]]), dict(chain(x[1].items(), y[1].items())), x[2] + y[2]), [operation_utils.extract_user_defined_function(udf, True) for udf in serialized_fn.udfs]) variable_dict['normalize_pandas_result'] = operation_utils.normalize_pandas_result generate_func = eval('lambda value: normalize_pandas_result([%s])' % pandas_functions, variable_dict) return generate_func, user_defined_funcs
def generate_func(self, serialized_fn): """ Generates a lambda function based on udtfs. :param serialized_fn: serialized function which contains the proto representation of the Python :class:`TableFunction` :return: the generated lambda function """ table_function, variable_dict, user_defined_funcs = \ operation_utils.extract_user_defined_function(serialized_fn.udfs[0]) variable_dict['normalize_table_function_result'] = \ operation_utils.normalize_table_function_result generate_func = eval('lambda value: normalize_table_function_result(%s)' % table_function, variable_dict) return generate_func, user_defined_funcs
def generate_func(self, serialized_fn): """ Generates a lambda function based on udfs. :param serialized_fn: serialized function which contains a list of the proto representation of the Python :class:`ScalarFunction` :return: the generated lambda function """ scalar_functions, variable_dict, user_defined_funcs = reduce( lambda x, y: ( ','.join([x[0], y[0]]), dict(chain(x[1].items(), y[1].items())), x[2] + y[2]), [operation_utils.extract_user_defined_function(udf) for udf in serialized_fn.udfs]) generate_func = eval('lambda value: [%s]' % scalar_functions, variable_dict) return generate_func, user_defined_funcs