浏览代码

HUE-8208 [importer] Allow to skip columns when creating a Kudu table

Romain Rigaux 7 年之前
父节点
当前提交
7a34ed628d

+ 1 - 1
desktop/libs/indexer/src/indexer/indexers/sql.py

@@ -170,7 +170,7 @@ class SQLIndexer(object):
     if load_data and table_format in ('parquet', 'kudu'):
       file_format = table_format
       if table_format == 'kudu':
-        columns_list = ['`%s`' % col for col in primary_keys + [col['name'] for col in destination['columns'] if col['name'] not in primary_keys]]
+        columns_list = ['`%s`' % col for col in primary_keys + [col['name'] for col in destination['columns'] if col['name'] not in primary_keys and col['keep']]]
         extra_create_properties = """PRIMARY KEY (%(primary_keys)s)
         PARTITION BY HASH PARTITIONS 16
         STORED AS %(file_format)s

文件差异内容过多而无法显示
+ 0 - 0
desktop/libs/indexer/src/indexer/indexers/sql_tests.py


+ 5 - 2
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -841,7 +841,7 @@ ${ assist.assistPanel() }
 
                   <!-- ko if: $parent.outputFormat() == 'index' -->
                     <a class="pointer pull-right margin-top-20" data-bind="click: function() { $parent.columns.remove($data); }"><i class="fa fa-minus"></i></a>
-                    <div data-bind="template: { name: 'index-field-template', data: $data }, css:{ 'disabled': !keep() }" class="margin-top-10 field inline-block index-field"></div>
+                    <div data-bind="template: { name: 'index-field-template', data: $data }, css: { 'disabled': !keep() }" class="margin-top-10 field inline-block index-field"></div>
                     <div class="clearfix"></div>
                   <!-- /ko -->
                 </form>
@@ -860,7 +860,7 @@ ${ assist.assistPanel() }
                 <!-- /ko -->
 
                 <!-- ko if: (['file', 'table', 'hbase'].indexOf($parent.outputFormat()) != -1 && $root.createWizard.source.inputFormat() == 'rdbms') || $parent.outputFormat() == 'index' -->
-                  <div data-bind="template: { name: 'index-field-template', data: $data }, css:{ 'disabled': !keep() }" class="margin-top-10 field index-field"></div>
+                  <div data-bind="template: { name: 'index-field-template', data: $data }, css: { 'disabled': !keep() }" class="margin-top-10 field index-field"></div>
                 <!-- /ko -->
               </form>
 
@@ -973,6 +973,9 @@ ${ assist.assistPanel() }
 
       <span data-bind="visible: showProperties">
         <input type="text" class="input-medium margin-left-5" placeholder="${ _('Field comment') }" data-bind="value: comment">
+        <label class="checkbox" data-bind="visible: $root.createWizard.destination.tableFormat() == 'kudu'">
+         <input type="checkbox" data-bind="checked: keep"> ${_('Keep')}
+        </label>
       </span>
     </span>
 

部分文件因为文件数量过多而无法显示