I think the solution would be to distinguish between interpreter type and
interpreter instance.
The type should be relatively static, while the instance could be any
alias/name and only generate a warning when unable to match with entries in
interpreter.json. Finally the specific type would be added to distinguish
the frontend-language (scala, python, R or sql/hive for spark, for example).

Since implementing this would also clear up some of the rather buggy and
hard to maintain interpreter-group code, it would be a worthwhile thing to
do, in any case.
A final call could then look like this: %spark:dev.sql or
%spark:prod.pyspark. (or jdbc:drill, jdbc:oracledw)
Adding another separator (could be a period also - but the colon is
semantically nice, since it's essentially a service and address that we're
calling) makes for easy parsing of the string and keeps notes (somewhat)
portable.

What do you think?

Reply via email to