Great :)
> On Feb 19, 2016, at 8:58 PM, Parth Sawant <parth.sawan...@gmail.com> wrote:
>
> Hi Chandeep,
> Thanks for your help. I figured it out too.
>
> On Fri, Feb 19, 2016 at 9:30 AM, Chandeep Singh <c...@chandeep.com
> <mailto:c...@chandeep.com>> wrote:
>
>> Yes, I did filter using the same conditions you’ve mentioned. I tested it
>> earlier with comma as the delimiter (previous email has logs) and now with
>> ^A.
>>
>> [csingh~]$ cat -v test.txt
>> 1^A2^A76
>> 1^A^A^A76
>> ^A2^A^A76
>> 1^A1^A2^A
>> 1^A1^A1^A76
>> 1^A2^A1^A76
>>
>> grunt> D = LOAD 'test.txt' USING PigStorage('\\u001') AS (IS_REPORTED:INT,
>> PROCESSING_STATUS_ID:INT, PROGRAM_ID:INT, AFFINITY_GROUP_ID:INT);
>> grunt> DUMP D;
>> (1,2,76,)
>> (1,,,76)
>> (,2,,76)
>> (1,1,2,)
>> (1,1,1,76)
>> (1,2,1,76)
>>
>> grunt> X = FILTER D BY (IS_REPORTED is not null) AND (PROCESSING_STATUS_ID
>> is not null) AND (IS_REPORTED==1) AND (PROGRAM_ID==1) AND
>> (PROCESSING_STATUS_ID==2) AND (AFFINITY_GROUP_ID==76);
>>
>> grunt> DUMP X;
>> (1,2,1,76)
>>
>>
>> So, the filter for NULL’s is working as you can see when I dump after
>> filtering.
>>
>>> On Feb 19, 2016, at 12:13 AM, Parth Sawant <parth.sawan...@gmail.com>
>> wrote:
>>>
>>> Did you put a Filter on the values to remove the null? I'm trying to
>> filter
>>> the NULL values using the Pig Filter Keyword and then use the Phoenix Pig
>>> integration to store the data. I have '\\u001' <smb://u001'> <smb://u001'
>>> <smb://u001'>> as the
>> delimiter for
>>> multiple files. It is supported by Pig BulkLoader too.
>>>
>>> Snippet:
>>>
>>> D = LOAD 'src_dest' using PigStorage('\\u001' <smb://u001'> <smb://u001'
>>> <smb://u001'>>) as AS
>> (IS_REPORTED:INT,
>>> PROCESSING_STATUS_ID:INT, PROGRAM_ID:INT, AFFINITY_GROUP_ID:INT);
>>>
>>> X = FILTER D BY (IS_REPORTED is not null) AND (PROCESSING_STATUS_ID is
>> not
>>> null) AND (IS_REPORTED==1) AND (PROGRAM_ID==1) AND
>>> (PROCESSING_STATUS_ID==2) AND (AFFINITY_GROUP_ID==76);
>>>
>>> On Thu, Feb 18, 2016 at 3:06 PM, Chandeep Singh <c...@chandeep.com
>>> <mailto:c...@chandeep.com>
>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>>> wrote:
>>>
>>>> So, I added one record to your sample to match all the conditions you
>> have
>>>> in your filter statement.
>>>>
>>>> New input:
>>>> [csingh]$ hadoop fs -cat test.txt
>>>> 1,,2,76
>>>> 1,,,76
>>>> ,2,,76
>>>> 1,1,2,
>>>> 1,1,1,76
>>>> 1,2,1,76
>>>>
>>>> I modified the load statement to use PigStorage delimited by comma.
>>>>
>>>> D = LOAD 'test.txt' USING PigStorage(',') AS (IS_REPORTED:INT,
>>>> PROCESSING_STATUS_ID:INT, PROGRAM_ID:INT, AFFINITY_GROUP_ID:INT);
>>>>
>>>> Output:
>>>> (1,2,1,76)
>>>>
>>>> So, the NOT NULL's seem to be working.
>>>>
>>>> Pig Log’s:
>>>>
>>>> grunt> D = LOAD 'test.txt' USING PigStorage(',') AS (IS_REPORTED:INT,
>>>> PROCESSING_STATUS_ID:INT, PROGRAM_ID:INT, AFFINITY_GROUP_ID:INT);
>>>> grunt> X = FILTER D BY (IS_REPORTED is not null) AND
>> (PROCESSING_STATUS_ID
>>>> is not null) AND (IS_REPORTED==1) AND (PROGRAM_ID==1) AND
>>>> (PROCESSING_STATUS_ID==2) AND (AFFINITY_GROUP_ID==76);
>>>> grunt> DUMP X;
>>>> 2016-02-18 23:01:06,336 [main] INFO
>>>> org.apache.pig.tools.pigstats.ScriptState - Pig features used in the
>>>> script: FILTER
>>>> 2016-02-18 23:01:06,366 [main] INFO
>>>> org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer -
>>>> {RULES_ENABLED=[AddForEach, ColumnMapKeyPrune,
>>>> DuplicateForEachColumnRewrite, GroupByConstParallelSetter,
>>>> ImplicitSplitInserter, LimitOptimizer, LoadTypeCastInserter,
>> MergeFilter,
>>>> MergeForEach, NewPartitionFilterOptimizer, PushDownForEachFlatten,
>>>> PushUpFilter, SplitFilter, StreamTypeCastInserter],
>>>> RULES_DISABLED=[FilterLogicExpressionSimplifier,
>> PartitionFilterOptimizer]}
>>>> 2016-02-18 23:01:06,480 [main] INFO
>>>>
>> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer
>>>> - MR plan size before optimization: 1
>>>> 2016-02-18 23:01:10,798 [JobControl] INFO
>>>> org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is
>>>> deprecated. Instead, use fs.defaultFS
>>>> 2016-02-18 23:01:11,345 [JobControl] INFO
>>>> org.apache.hadoop.mapreduce.JobSubmitter - Submitting tokens for job:
>>>> job_1454499131434_9884
>>>> 2016-02-18 23:01:11,542 [JobControl] INFO
>>>> org.apache.hadoop.yarn.client.api.impl.YarnClientImpl - Submitted
>>>> application application_1454499131434_9884
>>>> 2016-02-18 23:01:11,597 [main] INFO
>>>>
>> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
>>>> - 0% complete
>>>> 2016-02-18 23:01:31,393 [main] INFO
>>>>
>> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
>>>> - 50% complete
>>>> 2016-02-18 23:01:36,818 [main] INFO
>>>> org.apache.hadoop.conf.Configuration.deprecation - mapred.reduce.tasks
>> is
>>>> deprecated. Instead, use mapreduce.job.reduces
>>>> 2016-02-18 23:01:36,875 [main] INFO
>>>>
>> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
>>>> - 100% complete
>>>> 2016-02-18 23:01:36,878 [main] INFO
>>>> org.apache.pig.tools.pigstats.SimplePigStats - Script Statistics:
>>>>
>>>> HadoopVersion PigVersion UserId StartedAt FinishedAt
>>>> Features
>>>> 2.6.0-cdh5.4.8 0.12.0-cdh5.4.8 csingh 2016-02-18 23:01:06
>> 2016-02-18
>>>> 23:01:36 FILTER
>>>>
>>>> Success!
>>>>
>>>> Job Stats (time in seconds):
>>>> JobId Maps Reduces MaxMapTime MinMapTIme AvgMapTime
>>>> MedianMapTime MaxReduceTime MinReduceTime AvgReduceTime
>>>> MedianReducetime Alias Feature Outputs
>>>> job_1454499131434_9884 1 0 8 8 8 8
>>>> n/a n/a n/a n/a D,X MAP_ONLY
>>>>
>>>> Input(s):
>>>> Successfully read 6 records (418 bytes) from:
>>>>
>>>> Output(s):
>>>> Successfully stored 1 records (10 bytes) in:
>>>>
>>>> Counters:
>>>> Total records written : 1
>>>> Total bytes written : 10
>>>> Spillable Memory Manager spill count : 0
>>>> Total bags proactively spilled: 0
>>>> Total records proactively spilled: 0
>>>>
>>>> Job DAG:
>>>> job_1454499131434_9884
>>>>
>>>> 2016-02-18 23:01:36,976 [main] INFO
>>>>
>> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
>>>> - Success!
>>>> 2016-02-18 23:01:36,992 [main] INFO
>>>> org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input
>> paths
>>>> to process : 1
>>>> 2016-02-18 23:01:36,993 [main] INFO
>>>> org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total
>> input
>>>> paths to process : 1
>>>> (1,2,1,76)
>>>>
>>>>
>>>>
>>>>> On Feb 18, 2016, at 10:13 PM, Parth Sawant <parth.sawan...@gmail.com
>>>>> <mailto:parth.sawan...@gmail.com>>
>>>> wrote:
>>>>>
>>>>> Attaching a sample input. Basically 5 rows with only 4 Integer values
>> in
>>>> each. Some are NULL values.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Thu, Feb 18, 2016 at 2:03 PM, Chandeep Singh <c...@chandeep.com
>>>>> <mailto:c...@chandeep.com>
>>>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>
>>>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>>>> wrote:
>>>>> I’m just looking for one sample record (which has NULL's) and not the
>>>> entire input so that its easier for me to debug.
>>>>>
>>>>>> On Feb 18, 2016, at 9:40 PM, Parth Sawant <parth.sawan...@gmail.com
>>>>>> <mailto:parth.sawan...@gmail.com>
>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>
>>>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>
>>>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>>>
>> wrote:
>>>>>>
>>>>>> The input is simply too large to relay to others. A simplified schema
>>>> is
>>>>>> below. I only have INT columns with some null values in them. This is
>>>> my
>>>>>> Pig code snippet:
>>>>>>
>>>>>> D= LOAD 'src_locatn' as
>>>>>> IS_REPORTED:INT, PROCESSING_STATUS_ID:INT, PROGRAM_ID:INT,
>>>>>> AFFINITY_GROUP_ID:INT;
>>>>>>
>>>>>> X = FILTER D BY (IS_REPORTED is not null) AND (PROCESSING_STATUS_ID is
>>>> not
>>>>>> null) AND (IS_REPORTED==1) AND (PROGRAM_ID==1) AND
>>>>>> (PROCESSING_STATUS_ID==2) AND (AFFINITY_GROUP_ID==76);
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Thu, Feb 18, 2016 at 12:59 PM, Chandeep Singh <c...@chandeep.com
>>>>>> <mailto:c...@chandeep.com>
>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>>
>>>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>
>>>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>>>> wrote:
>>>>>>
>>>>>>> Any chance you could share a sample record which has NULL’s in it? as
>>>> well
>>>>>>> as your pig script?
>>>>>>>
>>>>>>>> On Feb 18, 2016, at 8:36 PM, Parth Sawant <parth.sawan...@gmail.com
>>>>>>>> <mailto:parth.sawan...@gmail.com>
>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>
>>>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>
>>>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>>>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> I had anticipated it would throw a similar error with this
>>>> suggestion as
>>>>>>>> the last one... and it did. My fields are declared as INT, just to
>>>>>>>> re-iterate. I don't think they can be compared to regexes. Here is
>>>> the
>>>>>>>> error:
>>>>>>>>
>>>>>>>> ERROR 1037:
>>>>>>>> <file LeadSales.pig, line 19, column 29> Operands of Regex can be
>>>>>>>> CharArray only :(Name: Regex Type: null Uid: null)
>>>>>>>>
>>>>>>>> org.apache.pig.impl.logicalLayer.validators.TypeCheckerException:
>>>> ERROR
>>>>>>> 1037:
>>>>>>>> <file LeadSales.pig, line 19, column 29> Operands of Regex can be
>>>>>>>> CharArray only :(Name: Regex Type: null Uid: null)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Feb 18, 2016 at 5:24 AM, Chandeep Singh <c...@chandeep.com
>>>>>>>> <mailto:c...@chandeep.com>
>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>>
>>>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>
>>>> <mailto:c...@chandeep.com <mailto:c...@chandeep.com>>>> wrote:
>>>>>>>>
>>>>>>>>> Since you integers in this field can you try matching to a regular
>>>>>>>>> expression?
>>>>>>>>>
>>>>>>>>> Something like: X matches '\\d+' <smb://d+'> <smb://d+' <smb://d+'>>
>>>>>>>>>
>>>>>>>>>> On Feb 18, 2016, at 12:55 AM, Parth Sawant <
>>>> parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>
>>>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>
>>>> <mailto:
>> parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>
>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>>>
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Chandeep. I tried that already but it gave me the following
>>>> error:
>>>>>>>>>>
>>>>>>>>>> ERROR 1039:
>>>>>>>>>> <file LeadSales.pig, line 19, column 27> In alias X, incompatible
>>>>>>>>>> types in NotEqual Operator left hand side:int right hand
>>>>>>>>>> side:chararray.
>>>>>>>>>>
>>>>>>>>>> The error makes sense cause the fields I have are INT type and
>>>> hence
>>>>>>>>>> cannot be compared to a chararray.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks for the prompt response though.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Feb 17, 2016 16:32, "Chandeep Singh" <c...@chandeep.com
>>>>>>>>>> <mailto:c...@chandeep.com> <mailto:
>> c...@chandeep.com <mailto:c...@chandeep.com>> <mailto:
>>>> c...@chandeep.com <mailto:c...@chandeep.com> <mailto:c...@chandeep.com
>>>> <mailto:c...@chandeep.com>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Try adding != '' along with IS NOT NULL.
>>>>>>>>>>>
>>>>>>>>>>>> On Feb 18, 2016, at 12:26 AM, Parth Sawant <
>>>> parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>
>>>> <mailto:parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>
>>>> <mailto:
>> parth.sawan...@gmail.com <mailto:parth.sawan...@gmail.com>>
>>>>>>>>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I'm trying to Filter some null fields in Pig using 'IS NOT NULL'
>>>> .
>>>>>>> For
>>>>>>>>>>> some
>>>>>>>>>>>> reason the null data values persist.
>>>>>>>>>>>> For eg: the following filter on storing it's contents, contains
>>>> null
>>>>>>>>>>> values
>>>>>>>>>>>> for ABC and PQR.
>>>>>>>>>>>>
>>>>>>>>>>>> X = FILTER D BY (ABC IS NOT NULL) AND (ABC==1) AND (PQR==1) AND
>>>> (PQR
>>>>>>> IS
>>>>>>>>>>> NOT
>>>>>>>>>>>> NULL) ;
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Can someone help with this?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>>
>>>>>>>>>>>> Parth S
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>> <Sample_in.txt>