[ 
https://issues.apache.org/jira/browse/PIG-3671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13873935#comment-13873935
 ] 

Russell Jurney commented on PIG-3671:
-------------------------------------

Also note: StringConcat, if done on the PREVIOUS line (not the current one), 
will not bleed through:

bluecoat_datetime = FOREACH bluecoat GENERATE StringConcat(date, 'T', time, 
'Z') AS date_time, *;
blucoat_datetime = FOREACH bluecoat_datetime GENERATE ToDate(date_time) AS 
date_time, *;
STORE bluecoat_datetime INTO '../../data/bluecoat_datetime.log';

* THIS WORKS *

bluecoat_datetime = FOREACH bluecoat GENERATE ToDate(StringConcat(date, 'T', 
time, 'Z')) AS date_time, *;

* THIS FAILS *

> CONCAT operation bleeds into ToDate, making it ERROR
> ----------------------------------------------------
>
>                 Key: PIG-3671
>                 URL: https://issues.apache.org/jira/browse/PIG-3671
>             Project: Pig
>          Issue Type: Bug
>          Components: internal-udfs
>    Affects Versions: 0.12.0
>         Environment: Moonlight on the ocean last night was pretty.
>            Reporter: Russell Jurney
>            Assignee: Daniel Dai
>         Attachments: date_and_time.txt, date_time_bug.pig
>
>
> date_and_time = LOAD 'date_and_time.txt' AS (date:chararray, time:chararray);
> date_time_concat = FOREACH date_and_time GENERATE CONCAT(CONCAT(date, ' '), 
> time) AS date_time;
> date_time_problem = FOREACH date_time_concat GENERATE ToDate(date_time) AS 
> date_time:datetime;
> dump date_time_problem
> g.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception while 
> executing [POUserFunc (Name: 
> POUserFunc(org.apache.pig.builtin.ToDateISO)[datetime] - scope-12 Operator 
> Key: scope-12) children: null at []]: java.lang.IllegalArgumentException: 
> Invalid format: "#date time"
>       at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:338)
>       at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.processPlan(POForEach.java:378)
>       at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.getNextTuple(POForEach.java:298)
>       at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:282)
>       at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:277)
>       at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:64)
>       at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
>       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
>       at 
> org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
> Caused by: java.lang.IllegalArgumentException: Invalid format: "#date time"
>       at 
> org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:683)
>       at org.apache.pig.builtin.ToDate.extractDateTime(ToDate.java:124)
>       at org.apache.pig.builtin.ToDateISO.exec(ToDateISO.java:38)
>       at org.apache.pig.builtin.ToDateISO.exec(ToDateISO.java:31)
>       at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNext(POUserFunc.java:330)
>       at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNextDateTime(POUserFunc.java:422)
>       at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:329)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to