Enable LDAP connection string building in rimpala.connect() #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I wanted to make building an LDAP connection string possible without changing anything in your Java code. Now if someone uses rimpala.connect(user="someuser",password="somepassword",db="somedb"), the "principal" string when user and password are defined will look like "somedb;user=someuser;password=somepassword". In RImpala.java, the appropriate connection string for LDAP will be created.
CONNECTION_URL = "jdbc:hive2://" + IP + ':' + port + "/;" + principal;
In this example the full string would become:
"jdbc:hive2://localhost:21050/somedb;user=someuser;password=somepassword"
This follows the appropriate convention for an LDAP connection string as shown in the Impala JDBC docs:
"jdbc:hive2://myhost.example.com:21050/test_db;user=fred;password=xyz123"
http://www.cloudera.com/documentation/enterprise/5-2-x/topics/impala_jdbc.html
If a user parameter is not entered in rimpala.connect(), the existing logic for building the "principal" string still takes place.