Created on 06-29-2016 08:50 PM - edited 09-16-2022 03:28 AM
Is there a way to use something like Oracle's "IGNORE NULLS" with the last_value() analytic function (or similar)? I want to fill all the nulls in a column with the last value in that column that was non-null. In Oracle I can do something like the below. How can I implement this in Impala? I need to forward fill the null values if possible, and if the partition begins with null, I'd like to backfill from the first non-null value.
-- Oracle sample query --
select user, date, val,
case when val is null
then last_value(val ignore nulls)
over (partition by user order by date)
else val
end as new_val
Created 06-30-2016 08:53 AM
I think we already have an open issue for this that is being actively worked on https://issues.cloudera.org/browse/IMPALA-3210
I.e. we don't support it yet but it's in the pipeline.
Created 06-30-2016 07:05 PM
We're working on it and it should be in the next release, but unfortunately we're not aware of a good way to simulate the same results.
Created 06-30-2016 08:53 AM
I think we already have an open issue for this that is being actively worked on https://issues.cloudera.org/browse/IMPALA-3210
I.e. we don't support it yet but it's in the pipeline.
Created 06-30-2016 12:51 PM
Thanks for the prompt response, Tim. Is there currently a way to achieve a similar functionality without this support?
Created 06-30-2016 07:05 PM
We're working on it and it should be in the next release, but unfortunately we're not aware of a good way to simulate the same results.