示例#1
0
def bind_function_expr(expr: FunctionExpression, column_mapping):
    catalog = CatalogManager()
    udf_obj = catalog.get_udf_by_name(expr.name)
    if expr.output:
        expr.output_obj = catalog.get_udf_io_by_name(expr.output)
        if expr.output_obj is None:
            LoggingManager().log(
                'Invalid output {} selected for UDF {}'.format(
                    expr.output, expr.name),
                LoggingLevel().ERROR)
    expr.function = path_to_class(udf_obj.impl_file_path, udf_obj.name)()
示例#2
0
 def test_get_udf_by_name(self, udf_mock):
     catalog = CatalogManager()
     actual = catalog.get_udf_by_name('name')
     udf_mock.return_value.udf_by_name.assert_called_with('name')
     self.assertEqual(actual,
                      udf_mock.return_value.udf_by_name.return_value)
示例#3
0
def bind_function_expr(expr: FunctionExpression, column_mapping):
    catalog = CatalogManager()
    udf_obj = catalog.get_udf_by_name(expr.name)
    class_path = '.'.join([udf_obj.impl_file_path, udf_obj.name])
    expr.function = str_to_class(class_path)()