Forráskód Böngészése

HUE-8758 [connectors] Add back minimal list of contexes and start refactoring

Romain 6 éve
szülő
commit
0a5b24af56

+ 1 - 2
apps/beeswax/src/beeswax/server/hive_server2_lib.py

@@ -592,7 +592,6 @@ class HiveServerClient(object):
 
 
 
 
   def open_session(self, user):
   def open_session(self, user):
-
     self.user = user
     self.user = user
     kwargs = {
     kwargs = {
         'client_protocol': beeswax_conf.THRIFT_VERSION.get() - 1,
         'client_protocol': beeswax_conf.THRIFT_VERSION.get() - 1,
@@ -661,7 +660,7 @@ class HiveServerClient(object):
     return session
     return session
 
 
 
 
-  def call(self, fn, req, status=TStatusCode.SUCCESS_STATUS, with_multiple_session=False):
+  def call(self, fn, req, status=TStatusCode.SUCCESS_STATUS, with_multiple_session=False): # Note: with_multiple_session currently ignored
     (res, session) = self.call_return_result_and_session(fn, req, status, with_multiple_session)
     (res, session) = self.call_return_result_and_session(fn, req, status, with_multiple_session)
     return res
     return res
 
 

+ 19 - 0
desktop/core/src/desktop/api2.py

@@ -87,6 +87,15 @@ def get_context_namespaces(request, interface):
 
 
   clusters = get_clusters(request.user).values()
   clusters = get_clusters(request.user).values()
 
 
+  # Currently broken if not sent
+  namespaces.extend([{
+      'id': cluster['id'],
+      'name': cluster['name'],
+      'status': 'CREATED',
+      'computes': [cluster]
+    } for cluster in clusters if cluster.get('type') == 'direct' and cluster['interface'] in (interface, 'all')
+  ])
+
   if interface == 'hive' or interface == 'impala' or interface == 'report':
   if interface == 'hive' or interface == 'impala' or interface == 'report':
     # From Altus SDX
     # From Altus SDX
     if [cluster for cluster in clusters if 'altus' in cluster['type']]:
     if [cluster for cluster in clusters if 'altus' in cluster['type']]:
@@ -139,6 +148,16 @@ def get_context_computes(request, interface):
   clusters = get_clusters(request.user).values()
   clusters = get_clusters(request.user).values()
   has_altus_clusters = [cluster for cluster in clusters if 'altus' in cluster['type'] or 'snowball' in cluster['type']]
   has_altus_clusters = [cluster for cluster in clusters if 'altus' in cluster['type'] or 'snowball' in cluster['type']]
 
 
+  # Currently broken if not sent
+  computes.extend([{
+      'id': cluster['id'],
+      'name': cluster['name'],
+      'namespace': cluster['id'],
+      'interface': interface,
+      'type': cluster['type']
+    } for cluster in clusters if cluster.get('type') == 'direct' and cluster['interface'] in (interface, 'all')
+  ])
+
   if has_altus_clusters:
   if has_altus_clusters:
     if interface == 'impala' or interface == 'report':
     if interface == 'impala' or interface == 'report':
       if IS_K8S_ONLY.get():
       if IS_K8S_ONLY.get():

+ 1 - 1
desktop/core/src/desktop/conf.py

@@ -1763,7 +1763,7 @@ def get_clusters(user):
 
 
 # Deprecated
 # Deprecated
 def has_multi_cluster():
 def has_multi_cluster():
-  return bool(CLUSTERS.get())
+  return bool(CLUSTERS.get()) and False
 
 
 def has_multi_clusters():
 def has_multi_clusters():
   return len(CLUSTERS.get()) > 1
   return len(CLUSTERS.get()) > 1

+ 13 - 13
desktop/core/src/desktop/lib/connectors/api.py

@@ -46,19 +46,19 @@ CONNECTOR_TYPES = [{
 ]
 ]
 
 
 CONNECTOR_TYPES += [
 CONNECTOR_TYPES += [
-  {'name': "Hive Tez", 'type': 'hive-tez', 'settings': [{'name': 'server_host', 'value': ''}, {'name': 'server_port', 'value': ''},], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Hive LLAP", 'type': 'hive-llap', 'settings': [{'name': 'server_host', 'value': ''}, {'name': 'server_port', 'value': ''},], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Druid", 'type': 'sql-druid', 'settings': [{'name': 'connection_url', 'value': 'druid://druid-host.com:8082/druid/v2/sql/'}], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Kafka SQL", 'type': 'kafka-sql', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "SparkSQL", 'type': 'spark-sql', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "MySQL", 'type': 'sql-mysql', 'settings': [{'name': 'connection_url', 'value': 'mysql://username:password@mysq-host:3306/hue'}], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Presto", 'type': 'presto', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Athena", 'type': 'athena', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Redshift", 'type': 'redshift', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Big Query", 'type': 'bigquery', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "Oracle", 'type': 'oracle', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "SQL Database", 'type': 'sql-alchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
-  {'name': "SQL Database (JDBC)", 'type': 'sql-jdbc', 'settings': [], 'id': None, 'category': 'engines', 'description': 'Deprecated: older way to connect to any database.'},
+  {'name': "Hive Tez", 'type': 'hive-tez', 'interface': 'hiveserver2', 'settings': [{'name': 'server_host', 'value': ''}, {'name': 'server_port', 'value': ''},], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Hive LLAP", 'type': 'hive-llap', 'interface': 'hiveserver2', 'settings': [{'name': 'server_host', 'value': ''}, {'name': 'server_port', 'value': ''},], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Druid", 'type': 'sql-druid', 'interface': 'sqlalchemy', 'settings': [{'name': 'connection_url', 'value': 'druid://druid-host.com:8082/druid/v2/sql/'}], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Kafka SQL", 'type': 'kafka-sql', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "SparkSQL", 'type': 'spark-sql', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "MySQL", 'type': 'sql-mysql', 'interface': 'sqlalchemy', 'settings': [{'name': 'connection_url', 'value': 'mysql://username:password@mysq-host:3306/hue'}], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Presto", 'type': 'presto', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Athena", 'type': 'athena', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Redshift", 'type': 'redshift', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Big Query", 'type': 'bigquery', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "Oracle", 'type': 'oracle', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "SQL Database", 'type': 'sql-alchemy', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
+  {'name': "SQL Database (JDBC)", 'type': 'sql-jdbc', 'interface': 'sqlalchemy', 'settings': [], 'id': None, 'category': 'engines', 'description': 'Deprecated: older way to connect to any database.'},
 
 
   {'name': "PySpark", 'type': 'pyspark', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
   {'name': "PySpark", 'type': 'pyspark', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
   {'name': "Spark", 'type': 'spark', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},
   {'name': "Spark", 'type': 'spark', 'settings': [], 'id': None, 'category': 'engines', 'description': ''},

+ 1 - 1
desktop/libs/notebook/src/notebook/connectors/hiveserver2.py

@@ -251,7 +251,7 @@ class HS2Api(Api):
       if statement.get('statement_id') == 0:
       if statement.get('statement_id') == 0:
         if query.database and not statement['statement'].lower().startswith('set'):
         if query.database and not statement['statement'].lower().startswith('set'):
           db.use(query.database)
           db.use(query.database)
-      handle = db.client.query(query, with_multiple_session=True)
+      handle = db.client.query(query, with_multiple_session=True) # Note: with_multiple_session currently ignored
     except QueryServerException, ex:
     except QueryServerException, ex:
       raise QueryError(ex.message, handle=statement)
       raise QueryError(ex.message, handle=statement)