Affects Version/s: None
Fix Version/s: None
When we query using llap external client library, following happens currently -
1. We first need to get splits using LlapBaseInputFormat#getSplits(), this just needs Hive server JDBC url.
2. We then submit those splits to llap and obtain record reader to read data using LlapBaseInputFormat#getRecordReader(). In this step we need following at client side -
We need to connect to zk to discover llap daemons.
3. Record reader so obtained needs to initiate a TCP connection from client to LLAP Daemon to submit the split.
In cloud based deployments, we may not be able to make direct connections to Zk registry and LLAP daemons from client as it might run outside vpc.
For 2, we can move daemon discovery logic to get_splits UDF itself which will run in HS2.
For scenarios like 3 and 4, we can expose additional ports on LLAP with additional auth mechanism.