Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello Everyone,
I'm facing a very strange scenario. I have a table with 5 fields partitiontimestamp, [year], [month], [day], [hour]
When i try to load the data with a Where condition on [year], [month], [day], [hour] it loads fine and generates the expected data.
But, when i try to load data with filter on partitiontimestamp it says 'Field Not Found'. Actually the filed is existing on the Source table.
Please see below snapshots for a better understanding
Runs successfully when other fields are used are filters
Data Model Viewer after successful load
Error when partitiontimestamp has been used in Filter
partitiontimestamp used as filter
Thanks everyone for your valuable inputs.
My Datasource here was a Hive DataLake and the User which was fetching data from there was not having enough rights to execute the exact where condition i was looking for (But, was able to execute the other Where condition 😲)
So, i had to add both these setting to the Qlik - Hive connection
SET hive.execution.engine = tez;
SET tez.queue.name=pr-*;
Then i was able to run my script successfully 😥
You probably need to use straight brackets for the field partitiontimestamp in the where clause .
Hi Tim,
Have tried all possible things (partitiontimestamp) [partitiontimestamp] also 'partitiontimestamp'
But, it somehow doesn't work
What data type is partitiontimestamp in the database?
Text
Also the other 4 fields are of the same DataType
Have you tried deleting the "comment" within the SQL statement?
Sorry i didn't get you.
This is my statement :
LIB CONNECT TO 'Apache_Hive_CNBDP_EMEA_INTAUTO';
LOAD
partitiontimestamp,
year,
month,
day,
hour
;
[e_condis_derived_location]:
SELECT
partitiontimestamp,
[year],
[month],
[day],
[hour]
FROM [condis_source].[e_condis_derived_location]
Where partitiontimestamp='2019091709'
// Where [year]='2019' and [month]='09' and [day]='17' and [hour]='09'
;
I have two options left:
Option 1: Delete the comment of the other where clause in the SQL statement. Sometimes Qlik handels comments as script when it is in an SQL statement.
LIB CONNECT TO 'Apache_Hive_CNBDP_EMEA_INTAUTO';
LOAD
partitiontimestamp,
year,
month,
day,
hour
;
[e_condis_derived_location]:
SELECT
partitiontimestamp,
[year],
[month],
[day],
[hour]
FROM [condis_source].[e_condis_derived_location]
Where partitiontimestamp='2019091709'
;
Option 2: Instead of straight brackets, use straight quotation marks ("):
LIB CONNECT TO 'Apache_Hive_CNBDP_EMEA_INTAUTO';
LOAD
partitiontimestamp,
year,
month,
day,
hour
;
[e_condis_derived_location]:
SELECT
partitiontimestamp,
[year],
[month],
[day],
[hour]
FROM [condis_source].[e_condis_derived_location]
Where "partitiontimestamp"='2019091709'
;
unfortunately no, both the options aren't working.
Thanks for your inputs though!