public void RegisterFunction(string name, MethodInfo f) { logger.LogInfo("Name of the function to register {0}, method info", name, f.DeclaringType?.FullName + "." + f.Name); var helper = new UdfReflectionHelper(f); Func <int, IEnumerable <dynamic>, IEnumerable <dynamic> > udfHelper = helper.Execute; sqlContextProxy.RegisterFunction(name, SparkContext.BuildCommand(new CSharpWorkerFunc(udfHelper), SerializedMode.Row, SerializedMode.Row), Functions.GetReturnType(helper.ReturnType)); }
public void RegisterFunction(string name, MethodInfo f) { if (!f.IsStatic) { throw new InvalidOperationException(f.DeclaringType?.FullName + "." + f.Name + " is not a static method, can't be registered"); } logger.LogInfo("Name of the function to register {0}, method info", name, f.DeclaringType?.FullName + "." + f.Name); var helper = new UdfReflectionHelper(f); Func <int, IEnumerable <dynamic>, IEnumerable <dynamic> > udfHelper = helper.Execute; udfRegistrationProxy.RegisterFunction(name, SparkContext.BuildCommand(new CSharpWorkerFunc(udfHelper), SerializedMode.Row, SerializedMode.Row), Functions.GetReturnType(helper.ReturnType)); }