Question:
I'm using Hive executor at the end of my pipeline to issue "invalidate metadata ${record:attribute('jdbc.tables')};". The expression produces a blank string so the command fails. If I hard-code the table name instead, it works correctly.
Answer:
The expression "${record:attribute('jdbc.tables')}" is used to refer to the header attribute of a data record. But in this case we are actually dealing with an event record, which has a different structure and does not contain the 'jdbc.tables' attribute.
For a detailed tutorial on how to issue an "invalidate metadata" statement at the end of your pipeline, check out this Case Study: https://streamsets.com/documentation/datacollector/latest/help/index.html#datacollector/UserGuide/Event_Handling/EventFramework-Title.html#concept_szz_xwm_lx