Pārlūkot izejas kodu

HUE-8330 [cluster] Consolidate the menu

Romain Rigaux 7 gadi atpakaļ
vecāks
revīzija
6f08a22

+ 91 - 29
desktop/core/src/desktop/templates/ko_components/ko_multi_cluster_sidebar.mako

@@ -139,12 +139,49 @@ from desktop.views import _ko
         }, {
           label: '${ _('Data Science') }',
           url: '/',
-          icon: 'altus-icon altus-ds'
+          icon: 'altus-icon altus-ds',
+          items: [{
+              label: '${ _('Projects') }',
+              url: '/editor?type=impala'
+            },{
+              label: '${ _('Sessions') }',
+              url: '/metastore/tables'
+            },{
+              label: '${ _('Experiments') }',
+              url: '/filebrowser/view=S3A://'
+            },{
+              label: '${ _('Models') }',
+              url: '/dashboard/new_search'
+            },{
+              label: '${ _('Jobs') }',
+              url: '/oozie/editor/coordinator/new/'
+            },{
+              label: '${ _('Settings') }',
+              url: '/indexer/importer'
+            }
+          ]
+        }, {
+          label: '${ _('Data Flow') }',
+          url: '/',
+          icon: 'altus-icon altus-workload'
+        }, {
+          label: '${ _('Data Stewart') }',
+          url: '/',
+          icon: 'altus-icon altus-adb'
         }
       ]
+   
       }, {
         label: '${ _('Admin') }',
         items: [{
+            label: '${ _('Clusters') }',
+            url: '/hue/jobbrowser',
+            icon: 'altus-icon altus-de'
+          },{
+            label: '${ _('Catalog') }',
+            url: '/',
+            icon: 'altus-icon altus-sdx'
+          },{
             label: '${ _('Environments') }',
             url: '/',
             icon: 'altus-icon altus-environment'
@@ -162,13 +199,7 @@ from desktop.views import _ko
             ]
           }
         ]
-      }, {
-        label: '${ _('Storage') }',
-        items: [{
-            label: '${ _('Catalog') }',
-            url: '/',
-            icon: 'altus-icon altus-sdx'
-          }
+      }
 ##           },{
 ##             label: '${ _('Streaming') }',
 ##             url: '/',
@@ -186,32 +217,63 @@ from desktop.views import _ko
 ##               }
 ##             ]
 ##           }
-        ]
-      }, {
-        label: '${ _('Compute') }',
-        items: [{
-            label: '${ _('Data Warehouse') }',
-            icon: 'altus-icon altus-dashboard',
-            url: '/hue/jobbrowser'
-          }, {
-            label: '${ _('Data Engineering') }',
-            icon: 'altus-icon altus-de',
-            items: [{
-                label: '${ _('Clusters') }',
-                url: '/'
-              },{
-                label: '${ _('Jobs') }',
-                url: '/'
-              }
-            ]
-          }
+
           ##, {
           ##  label: '${ _('Scheduling') }',
           ##  icon: 'altus-icon altus-workload',
           ##  url: '/'
           ##}
-        ]
-      }
+
+        
+##      }, {
+##        label: '${ _('Admin') }',
+##        items: [{
+##            label: '${ _('Environments') }',
+##            url: '/',
+##            icon: 'altus-icon altus-environment'
+##          },{
+##            label: '${ _('Directory') }',
+##            url: 'https://console.altus.cloudera.com/iam/index.html',
+##            icon: 'altus-icon altus-iam',
+##            items: [{
+##                label: '${ _('User') }',
+##                url: '/hue/useradmin/users/'
+##              },{
+##                label: '${ _('Groups') }',
+##                url: '/hue/useradmin/groups/'
+##              }
+##            ]
+##          }
+##        ]
+##      }, {
+##        label: '${ _('Storage') }',
+##        items: [{
+##            label: '${ _('Catalog') }',
+##            url: '/',
+##            icon: 'altus-icon altus-sdx'
+##          }
+##        ]
+##      }, {
+##        label: '${ _('Compute') }',
+##        items: [{
+##            label: '${ _('Data Warehouse') }',
+##            icon: 'altus-icon altus-dashboard',
+##            url: '/hue/jobbrowser'
+##          }, {
+##            label: '${ _('Data Engineering') }',
+##            icon: 'altus-icon altus-de',
+##            items: [{
+##                label: '${ _('Clusters') }',
+##                url: '/'
+##              },{
+##                label: '${ _('Jobs') }',
+##                url: '/'
+##              }
+##            ]
+##          }
+##        ]
+##       }
+
         ##  , {
         ##    label: '${ _('Icons') }',
         ##    items: [{label: 'altus-adb-cluster', url: '/', icon: 'altus-icon altus-adb-cluster'},

+ 14 - 9
desktop/libs/indexer/src/indexer/api3.py

@@ -140,13 +140,18 @@ def guess_format(request):
       format_ = {"type": "csv", "fieldSeparator": ",", "hasHeader": True, "quoteChar": "\"", "recordSeparator": "\\n", 'topics': get_topics()}
     elif file_format['streamSelection'] == 'flume':
       format_ = {"type": "csv", "fieldSeparator": ",", "hasHeader": True, "quoteChar": "\"", "recordSeparator": "\\n"}
-  elif file_format['inputFormat'] == 'sfdc':
-    sf = Salesforce(
-        username=file_format['streamUsername'],
-        password=file_format['streamPassword'],
-        security_token=file_format['streamToken']
-    )
-    format_ = {"type": "csv", "fieldSeparator": ",", "hasHeader": True, "quoteChar": "\"", "recordSeparator": "\\n", 'objects': [sobject['name'] for sobject in sf.restful('sobjects/')['sobjects'] if sobject['queryable']]}
+  elif file_format['inputFormat'] == 'connector':
+    if file_format['connectorSelection'] == 'sfdc':
+      sf = Salesforce(
+          username=file_format['streamUsername'],
+          password=file_format['streamPassword'],
+          security_token=file_format['streamToken']
+      )
+      format_ = {"type": "csv", "fieldSeparator": ",", "hasHeader": True, "quoteChar": "\"", "recordSeparator": "\\n", 'objects': [sobject['name'] for sobject in sf.restful('sobjects/')['sobjects'] if sobject['queryable']]}
+    else:
+        raise PopupException(_('Input format %(inputFormat)s connector not recognized: $(connectorSelection)s') % file_format)
+  else:
+    raise PopupException(_('Input format not recognized: %(inputFormat)s') % file_format)
 
   format_['status'] = 0
   return JsonResponse(format_)
@@ -312,7 +317,7 @@ def guess_field_types(request):
       ]
       query = 'SELECT %s FROM %s LIMIT 4' % (', '.join([col['name'] for col in table_metadata]), file_format['streamObject'])
       print query
-  
+
       format_ = {
         "sample": [row.values()[1:] for row in sf.query_all(query)['records']],
         "columns": [
@@ -592,7 +597,7 @@ def _envelope_job(request, file_format, destination, start_time=None, lib_path=N
     else:
       destination['importData'] = False # Avoid LOAD DATA
       if destination['tableFormat'] == 'kudu':
-        properties['kafkaFieldNames'] = properties['kafkaFieldNames'].lower() # Kudu names should be all lowercase    
+        properties['kafkaFieldNames'] = properties['kafkaFieldNames'].lower() # Kudu names should be all lowercase
       # Create table
       SQLIndexer(user=request.user, fs=request.fs).create_table_from_a_file(file_format, destination).execute(request)