U-SQL Assemblies


One of the major value propositions and design goals of U-SQL is to provide an easy to use and powerful way to extend U-SQL with custom user code. The main aspects that are enabling these goals are the C#-based U-SQL type system and U-SQL’s expression language.

U-SQL provides the ability to use .NET assemblies in U-SQL’s metadata catalog in order to encapsulate more complex expressions into user-defined functions, and to extend the processing capabilities of U-SQL with user-defined aggregators or user-defined operators (UDOs). If a .NET assembly is required during script compilation (for example because it specifies a function or type that needs to be resolved during compile time), then it needs to be registered with CREATE ASSEMBLY and the referenced with REFERENCE ASSEMBLY.

U-SQL provides the CREATE ASSEMBLY and DROP ASSEMBLY statements to manage the assembly DLL registration. Assemblies are scoped to a U-SQL database.

It also provides the ability to reference assemblies, both user-defined and system defined assemblies with the REFERENCE ASSEMBLY statement.


Assembly_DDL_Statement :=                                                                                
|    Drop_Assembly_Statement.
Reference_Assembly_Statement := Reference_User_Assembly_Statement | Reference_System_Assembly_Statement.

See Also