Browse Source

HUE-5090 [oozie] Refactor batch API submittion of a Notebook

Romain Rigaux 9 years ago
parent
commit
19f29d9d6e

+ 1 - 6
desktop/libs/indexer/src/indexer/smart_indexer.py

@@ -110,12 +110,7 @@ class Indexer(object):
       ]
     )
 
-    notebook_data = notebook.get_data()
-    snippet = {'wasBatchExecuted': True, 'type': 'oozie', 'id': notebook_data['snippets'][0]['id'], 'statement': ''}
-
-    job_handle = _execute_notebook(request, notebook_data, snippet)
-
-    return job_handle
+    return notebook.execute(request, batch=True)
 
   def guess_format(self, data):
     file_format = get_file_format_instance(data['file'])

+ 8 - 1
desktop/libs/notebook/src/notebook/connectors/base.py

@@ -95,7 +95,6 @@ class Notebook(object):
   def get_str(self):
     return '\n\n\n'.join(['USE %s;\n\n%s' % (snippet['database'], snippet['statement_raw']) for snippet in self.get_data()['snippets']])
 
-
   def add_hive_snippet(self, database, sql):
     _data = json.loads(self.data)
 
@@ -158,6 +157,14 @@ class Notebook(object):
       }
     )
 
+  def execute(self, request, batch=False):
+    from notebook.api import _execute_notebook # Cyclic dependency
+
+    notebook_data = self.get_data()
+    snippet = {'wasBatchExecuted': batch, 'type': 'oozie', 'id': notebook_data['snippets'][0]['id'], 'statement': ''}
+
+    return _execute_notebook(request, notebook_data, snippet)
+
 
 def get_api(request, snippet):
   from notebook.connectors.hiveserver2 import HS2Api