did you try with {jarFileName}.{FunctionName} ?
example: myudfs.CalculateAvg ?On Tue, Mar 5, 2013 at 4:04 PM, Preeti Gupta <[email protected]>wrote: > I kept the code in myudfs.jar and my pig script is point to it using > register command but the script is not able to find CalculateAvg function. > I don't have any packages defined in the java file and the jar is my > current directory. > > > On Mar 5, 2013, at 3:17 AM, Jonathan Coveney <[email protected]> wrote: > > > dividends = load 'try.txt' > > a = foreach dividends generate FLATTEN(TOBAG(*)); > > b = foreach (group a all) generate CalculateAvg($1); > > > > I think that should work > > > > > > 2013/3/5 pablomar <[email protected]> > > > >> what is the error ? > >> function not found or something like that ? > >> > >> what about this ? > >> avg = generate myudfs.CalculateAvg(dividends); > >> > >> > >> On Mon, Mar 4, 2013 at 4:56 PM, Preeti Gupta < > [email protected] > >>> wrote: > >> > >>> Hello All, > >>> > >>> I have dataset like > >>> > >>> 0, 10.1, 20.1, 30, 40, > >>> 50, 60, 70, 80.1, 1, > >>> 2, 3, 4, 5, 6, > >>> 7, 8, 9, 10, 11, > >>> 12, 13, 14, 15, 16, > >>> 1, 2, 3, 4, 5, > >>> 56, 6, 7, 8, 9, > >>> 9, 9, 9, 12, 1, > >>> 3, 14, 1, 5, 6, > >>> 7, 8, 8, 9, 12 > >>> > >>> So basically comma separated values. But I want to consider this as one > >>> data column and I want to calculate the average of the whole dataset. > >>> > >>> I believe I have to write UDF to calculate average. Pig is able to load > >>> this data > >>> > >>> ( 0, 10.1, 20.1, 30, 40,) > >>> ( 50, 60, 70, 80.1, 1,) > >>> ( 2, 3, 4, 5, 6,) > >>> ( 7, 8, 9, 10, 11,) > >>> ( 12, 13, 14, 15, 16,) > >>> ( 1, 2, 3, 4, 5,) > >>> ( 56, 6, 7, 8, 9,) > >>> ( 9, 9, 9, 12, 1,) > >>> ( 3, 14, 1, 5, 6,) > >>> ( 7, 8, 8, 9, 12 ) > >>> > >>> and How do I invoke that UDF in my pig script? Say I implement > >>> CalculateAvg function. > >>> > >>> REGISTER ./myudfs.jar > >>> dividends = load 'try.txt'; > >>> dump dividends > >>> --grouped = group dividends by symbol; > >>> avg = generate CalculateAvg(dividends); > >>> dump avg > >>> --store avg into 'average_dividend'; > >>> > >>> It fails. > >>> > >>> > >> > >
