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)()
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)
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)()