the result of your UDF is a tuple, so field1 and field2 don't exist. try doing GENERATE FLATTEN(udf.etc); and then do a DESCRIBE on schema_records to see what the columns are called.
2011/1/7 <[email protected]> > Hi, > > I have a python UDF, used by a PIG Script. > > I get a parsing error for some reason. > > ------------ > > REGISTER '/path/to/udf.py' USING jython AS udf; > > records = LOAD 'path/to/data' AS (input_line:chararray); > > schema_records = FOREACH records GENERATE > udf.split_into_words(input_line); > > projected_records = FOREACH schema_records GENERATE field1, field2; > > DUMP schema_records; > > ---------- > > Here's the python udf: > > @outputSchema("t:(field1:chararray, field1:chararray)") > > def split_into_words(input_line): > > line = input_line.strip() > > words = line.split() > > return (words[0], words[1]) > > -------------- > > The error I get is: > > [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during > parsing. Invalid alias: field1 in {t: (field1: chararray, field2: chararray) > > What am I doing wrong? > > Please do not print this email unless it is absolutely necessary. > > The information contained in this electronic message and any attachments to > this message are intended for the exclusive use of the addressee(s) and may > contain proprietary, confidential or privileged information. If you are not > the intended recipient, you should not disseminate, distribute or copy this > e-mail. Please notify the sender immediately and destroy all copies of this > message and any attachments. > > WARNING: Computer viruses can be transmitted via email. The recipient > should check this email and any attachments for the presence of viruses. The > company accepts no liability for any damage caused by any virus transmitted > by this email. > > www.wipro.com >
