HelloIt looks like this is expected behavior. I presumed that whether the data
comes in double quotes or does not make any difference.
Please Refer Convert "3" to 3 with PigLatin
| |
| | | | | | | |
| Convert "3" to 3 with PigLatinI read in a csv-file that contains fields with
numbers like that: "3". Can I convert this fields from "3" to 3 with PigLatin?
I need it to use the SUM() - Function.... |
| |
| View on stackoverflow.com | Preview by Yahoo |
| |
| |
Regards,
Amit
On Monday, February 2, 2015 2:18 PM, Amit <[email protected]> wrote:
Thanks again for responses.I have indeed tried with explicit casting and using
schema.
I am now thinking that it has something to do with the integer value coming
within double quotes in CSV format. ("10","Amit" ...)
With double quotes -1) Tried below and PigStorage could not load f1
A = LOAD '/local/amit/temp/data.csv' using PigStorage(',') AS
(f1:int,name:chararray);DUMP A;
Without Double Quotes i.e. CSV with data (10,Amit etc), the above Pig script
works as expected and also Filters out the required rows as expected.
Do you know if there are any existing issues with PigStorage trying to load int
value which comes as double quoted string value in a CSV format.
Appreciate your time to respond these questions. Regards,
Amit
On Monday, February 2, 2015 11:28 AM, Pradeep Gollakota
<[email protected]> wrote:
Explicit casting will work, though you shouldn't need to use it. You should
specify an input schema using the AS keyword. This will ensure that
PigStorage will load your data using the appropriate types.
On Mon, Feb 2, 2015 at 7:22 AM, Arvind S <[email protected]> wrote:
> Use explicit casting during comparison
>
> Cheers !!!
> Arvind
> On 02-Feb-2015 8:39 pm, "Amit" <[email protected]> wrote:
>
> > Thanks for the response.The Pig script as such does not fail, it runs
> > successfully ( trying in local mode), however when the run is finished it
> > does not dump any tuples.Has it something to do with the CSV where the f1
> > is stored as a string ?The CSV data would look like this -
> >
> *********************************************"10","abc""20","xyz""30,"lmn"...
> > etc ***********************************************
> > Thanks,Amit
> >
> > On Monday, February 2, 2015 3:37 AM, Pradeep Gollakota <
> > [email protected]> wrote:
> >
> >
> > Just to clarify, do you have a semicolon after f1 > 20?
> >
> > A = LOAD 'data' USING PigStorage(',');
> > B = FOREACH A GENERATE f1;
> > C = FILTER B BY f1 > 20;
> > DUMP C;
> >
> > This should be correct.
> >
> >
> > On Sun, Feb 1, 2015 at 4:50 PM, Amit <[email protected]> wrote:
> >
> > > Hello,I am trying to run a Ad-hoc pig script on IBM Bluemix platform
> that
> > > has a arithmetic comparison.Suppose the data is ----f1-----10203040..
> > > Let us say I would like to select the records where f1 > 20 . It is
> > pretty
> > > easy operation, however I am not sure why I cannot see expected results
> > in
> > > there.The data is initially loaded from a CSV file.Here is may pig
> script
> > > -
> >
> ********************************************************************************************A
> > > = << Load from CSV file >> B = FOREACH A generate f1;C = FILTER B by
> f1
> > >
> > > 20DUMP
> > >
> >
> C;********************************************************************************************
> > > Appreciate if someone points out what I am doing wrong here.
> > > I also tried to run this in local mode just to make sure I am doing
> this
> > > right.
> > > Regards,Amit
> >
> >
>