瀏覽代碼

HUE-2152 [pig] HBase credentials support in editor

Romain Rigaux 10 年之前
父節點
當前提交
e108805
共有 2 個文件被更改,包括 10 次插入1 次删除
  1. 4 1
      apps/pig/src/pig/api.py
  2. 6 0
      apps/pig/src/pig/models.py

+ 4 - 1
apps/pig/src/pig/api.py

@@ -110,7 +110,10 @@ class OozieApi(object):
     )
 
     if pig_script.use_hcatalog and self.oozie_api.security_enabled:
-      action.credentials = [{'name': 'hcat', 'value': True}]
+      action.credentials.append([{'name': 'hcat', 'value': True}])
+      action.save()
+    if pig_script.use_hbase and self.oozie_api.security_enabled:
+      action.credentials.append([{'name': 'hbase', 'value': True}])
       action.save()
 
     action.add_node(workflow.end)

+ 6 - 0
apps/pig/src/pig/models.py

@@ -84,6 +84,12 @@ class PigScript(Document):
     return ('org.apache.hcatalog.pig.HCatStorer' in script or 'org.apache.hcatalog.pig.HCatLoader' in script) or \
         ('org.apache.hive.hcatalog.pig.HCatLoader' in script or 'org.apache.hive.hcatalog.pig.HCatStorer' in script) # New classes
 
+  @property
+  def use_hbase(self):
+    script = self.dict['script']
+    return 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' in script
+
+
 def create_or_update_script(id, name, script, user, parameters, resources, hadoopProperties, is_design=True):
   try:
     pig_script = PigScript.objects.get(id=id)