Browse Source

HUE-8330 [importer] Prototype of tale import to altus

Romain Rigaux 7 years ago
parent
commit
a9ff48200a

+ 1 - 1
apps/metastore/src/metastore/templates/metastore.mako

@@ -987,7 +987,7 @@ ${ components.menubar(is_embeddable) }
               <!-- ko component: {
                 name: 'hue-drop-down',
                 params: {
-                  icon: 'fa-server',
+                  icon: 'fa-snowflake-o',
                   value: activeNamespace,
                   entries: namespaces,
                   searchable: true,

+ 7 - 9
desktop/core/src/desktop/api2.py

@@ -93,15 +93,13 @@ def get_context_namespaces(request, interface):
 
     # From Altus SDX
     if [cluster for cluster in clusters if cluster['type'] == 'altus']:
-      namespaces.extend([{"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:doc_test/b0a5c594-0e4f-4084-ab00-bde55b4ab03e", "name": "doc_test"}, {"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:mschumpert/be6ae3c5-1790-468c-be6e-0d61a47d066d", "name": "mschumpert"}, {"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:cca-altus2-ns/bffb9ade-cbf5-4b47-8ac0-3b67b5f2472d", "name": "cca-altus2-ns"}, {"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:cca-sdx-ns/ce4b569b-a8e1-459d-a12d-8ae671f2db4f", "name": "cca-sdx-ns"}, {"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:cca-altus1-ns/e0fb5b22-5cbc-445e-86f3-959e4aee2b66", "name": "cca-altus1-ns"}, {"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:victor-namespace/ea714d02-0bed-425e-a09b-556367e559b0", "name": "victor-namespace"}, {"status": "CREATED", "id": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:BP_Enterprise/ecd8a000-4671-4bd0-9b66-b939aabb5a76", "name": "BP_Enterprise"}])
-# Js error for some reason
-#       namespaces.extend([{
-#           'id': namespace.get('crn', 'None'),
-#           'name': namespace.get('namespaceName', 'Unknown'),
-#           'status': namespace.get('status'),
-#           # creationDate
-#         } for namespace in SdxApi(request.user).list_namespaces()]
-#       )
+      namespaces.extend([{
+          'id': namespace.get('crn', 'None'),
+          'name': namespace.get('namespaceName', 'Unknown'),
+          'status': namespace.get('status'),
+          # creationDate
+        } for namespace in SdxApi(request.user).list_namespaces()]
+      )
 
   response[interface] = namespaces
   response['status'] = 0

+ 3 - 0
desktop/libs/indexer/src/indexer/api3.py

@@ -301,6 +301,9 @@ def importer_submit(request):
       job_handle = _small_indexing(request.user, request.fs, client, source, destination, index_name)
   elif destination['ouputFormat'] == 'database':
     job_handle = _create_database(request, source, destination, start_time)
+  elif source['inputFormat'] == 'altus':
+    # BDR copy or DistCP + DDL + Sentry DDL copy
+    pass
   elif source['inputFormat'] == 'rdbms':
     if destination['outputFormat'] in ('file', 'table', 'hbase'):
       job_handle = run_sqoop(request, source, destination, start_time)

+ 7 - 0
desktop/libs/indexer/src/indexer/conf.py

@@ -110,6 +110,13 @@ ENABLE_KAFKA = Config(
   default=False
 )
 
+ENABLE_ALTUS = Config(
+  key="enable_altus",
+  help=_t("Flag to turn on Altus imports."),
+  type=bool,
+  default=False
+)
+
 # Unused
 BATCH_INDEXER_PATH = Config(
   key="batch_indexer_path",

File diff suppressed because it is too large
+ 43 - 6
desktop/libs/indexer/src/indexer/templates/importer.mako


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

@@ -275,6 +275,7 @@ def get_api(request, snippet):
       }]
     else:
       raise PopupException(_('Snippet type %(type)s is not configured in hue.ini') % snippet)
+
   interpreter = interpreter[0]
   interface = interpreter['interface']
 

+ 2 - 2
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -356,7 +356,7 @@ var EditorViewModel = (function() {
       return ApiHelper.getInstance(vm);
     };
 
-    self.avaiableNamespaces = ko.observableArray();
+    self.availableNamespaces = ko.observableArray();
     self.namespace = ko.observable();
     self.availableComputes = ko.observableArray();
     self.compute = ko.observable();
@@ -374,7 +374,7 @@ var EditorViewModel = (function() {
     });
 
     var namespacesPromise = ContextCatalog.getNamespaces({ sourceType: self.type() }).done(function (namespaces) {
-      self.avaiableNamespaces(namespaces);
+      self.availableNamespaces(namespaces);
       if (!snippet.namespace || !namespaces.some(function (namespace) {
         if (namespace.id === snippet.namespace.id) {
           self.namespace(namespace);

+ 1 - 1
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -942,7 +942,7 @@ ${ sqlSyntaxDropdown.sqlSyntaxDropdown() }
     <span class="execution-timer" data-bind="visible: type() != 'text' && status() != 'ready' && status() != 'loading', text: result.executionTime().toHHMMSS()" title="${ _('Execution time') }"></span>
 
     <!-- ko if: availableComputes().length > 1 -->
-    <div class="margin-left-10" data-bind="component: { name: 'hue-drop-down', params: { icon: 'fa-snowflake-o', value: compute, entries: availableComputes, labelAttribute: 'name', foreachVisible: true, searchable: true, linkTitle: '${ _ko('Active compute') }' } }" style="display: inline-block"></div>
+    <div class="margin-left-10" data-bind="component: { name: 'hue-drop-down', params: { icon: 'fa-server', value: compute, entries: availableComputes, labelAttribute: 'name', foreachVisible: true, searchable: true, linkTitle: '${ _ko('Active compute') }' } }" style="display: inline-block"></div>
     <!-- /ko -->
     <!-- ko if: availableDatabases().length > 0 && isSqlDialect() -->
     <div class="margin-left-10" data-bind="component: { name: 'hue-drop-down', params: { icon: 'fa-database', value: database, entries: availableDatabases, foreachVisible: true, searchable: true, linkTitle: '${ _ko('Active database') }' } }" style="display: inline-block"></div>

Some files were not shown because too many files changed in this diff