Ejemplo n.º 1
0
 def generate_func(self, udtfs):
     """
     Generates a lambda function based on udtfs.
     :param udtfs: a list of 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(udtfs[0])
     mapper = eval('lambda value: %s' % table_function, variable_dict)
     return lambda it: map(mapper, it), user_defined_funcs
Ejemplo n.º 2
0
 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['wrap_pandas_result'] = operation_utils.wrap_pandas_result
     mapper = eval('lambda value: wrap_pandas_result([%s])' % pandas_functions, variable_dict)
     return lambda it: map(mapper, it), user_defined_funcs
Ejemplo n.º 3
0
 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])
     generate_func = eval('lambda value: %s' % table_function, variable_dict)
     return generate_func, user_defined_funcs
Ejemplo n.º 4
0
 def generate_func(self, udfs):
     """
     Generates a lambda function based on udfs.
     :param udfs: 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 udfs
             ])
     mapper = eval('lambda value: [%s]' % scalar_functions, variable_dict)
     return lambda it: map(mapper, it), user_defined_funcs
Ejemplo n.º 5
0
 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