One Star

tHiveRow cannot resolve any fields

When I connect a tHiveRow object to anything else (like tLogRow for instance), the job no longer compiles with the following errors:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
state cannot be resolved or is not a field
name cannot be resolved or is not a field
I have successfully set up a Hive Db Connection, and I can create schemas. But whenever I try to use the schema for anything, no fields can be resolved. I have tested the same table and scenario with the equivalent MySQL database and it was successful.
Any help anyone can give me would be greatly appreciated.
3 REPLIES
One Star

Re: tHiveRow cannot resolve any fields

Hi
When you use tHiveRow or tMysqlRow, you'd better create job as follows.
tHiveRow-->tParseRecordSet-->tLogRow
Add a column in tHiveRow and select "Object" data type.
Check Advanced settings-> "Propagate QUERY's recordset" and select the object column.
Retrieve state and name in tParseRecordSet(Set "state" and "name" in Value).
Or you can get a scenario about tParseRecordSet in TOS document.
Regards,
Pedro
One Star

Re: tHiveRow cannot resolve any fields

Hi pedro,
I am trying to extract data from Hive table and see it on console.
My hive table has two columns: key String , value String.
tHiveRow --> tParseRecordSet --> tLogRow
In tHiveRow, In basic settings, I added column result of type object.
QUERY: select key, value from my_table
In Advanced Settings checked box Propagate QUERY's recordset and in use column drop down, selected column result.
In tParseRecordSet did following:
In Prev. Comp. Column list drop down select result
Click sync columns
In Attributes table, provide values for all column names as "key" , "value" , "result"
Output result to tLogRow.
On running, I get this Exception:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
key cannot be resolved or is not a field
value cannot be resolved or is not a field
at evaluation.hivetestextract_woparse_0_1.HiveTestExtract_woParse.tHiveRow_1Process(HiveTestExtract_woParse.java:742)
at evaluation.hivetestextract_woparse_0_1.HiveTestExtract_woParse.runJobInTOS(HiveTestExtract_woParse.java:3391)
at evaluation.hivetestextract_woparse_0_1.HiveTestExtract_woParse.main(HiveTestExtract_woParse.java:3252)

Can you tell, what am I missing here.
Regards
Manisha
One Star

Re: tHiveRow cannot resolve any fields

Hi Manisha
Set up tParseRecordSet as the following image.
Regards,
Pedro