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:
- Is the NVL function being deprecated and replaced with the coalesce function?
- 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