<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def wrap_udf(hdfs_file, inputs, output, so_symbol, name=None):
 """ Creates a callable scalar function object. Must be created in Impala to be used Parameters hdfs_file: .so file that contains relevant UDF inputs: list of strings or sig.TypeSignature Input types to UDF output: string Ibis data type so_symbol: string, C++ function name for relevant UDF name: string (optional). Used internally to track function Returns ------- container : UDF object """

    func = ImpalaUDF(inputs, output, so_symbol, name=name, lib_path=hdfs_file)
    return func