Deprecated Hive function used: nvl

Good morning
Version 4.3.1
Does anyone know why warnings are being generated in hive.deprecated.function.warning.log. Looks like the ID is the job ID, which can be traced to a reflection refresh process.

2020-06-04 15:20:36,256 [2126a86b-7201-5f2a-cdf4-d887759ab600/0:foreman-planning] WARN h.deprecated.function.warning.logger - Deprecated Hive function used: nvl
2020-06-04 16:20:36,327 [21269a5a-c7e2-3dbb-be83-94ab7a808800/0:foreman-planning] WARN h.deprecated.function.warning.logger - Deprecated Hive function used: nvl
2020-06-04 17:20:36,396 [21268c4b-5e4c-b22a-73f6-7c8efb9f3b00/0:foreman-planning] WARN h.deprecated.function.warning.logger - Deprecated Hive function used: nvl

Here is additional information
I discovered that the dataset uses the NVL function.

Questions:

  1. Is the NVL function being deprecated and replaced with the coalesce function?
  2. Why is the reflection refresh process generating this warning but not querying the dataset?

Good morning

I’ve not heard back from anyone, however, I might have found insight into why Dremio might be deprecating NVL.

Differences
• NVL accepts only 2 arguments whereas COALESCE can take multiple arguments
• NVL evaluates both the arguments and COALESCE stops at first occurrence of a non-Null value.
• NVL does an implicit datatype conversion based on the first argument given to it. COALESCE expects all arguments to be of same datatype.
• COALESCE is ANSI standard where as NVL is Oracle specific.

Comments?

@mcotter

Sorry for the late reply, COALESCE would be a valid replacement