소스 검색

HUE-2152 [pig] HBase credentials support in editor

Romain Rigaux 10 년 전
부모
커밋
e108805e94
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:
     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.save()
 
 
     action.add_node(workflow.end)
     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 \
     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
         ('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):
 def create_or_update_script(id, name, script, user, parameters, resources, hadoopProperties, is_design=True):
   try:
   try:
     pig_script = PigScript.objects.get(id=id)
     pig_script = PigScript.objects.get(id=id)