Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

luoyulong 2 yıl önce
ebeveyn
işleme
d0a9c896b2
3 değiştirilmiş dosya ile 12 ekleme ve 5 silme
  1. 2 1
      app/common/hive.py
  2. 8 3
      app/core/datasource/hive.py
  3. 2 1
      production.ini

+ 2 - 1
app/common/hive.py

@@ -24,4 +24,5 @@ hiveDs = HiveDS(**{'type': 'hive',
                     'keytab': KEYTAB,
                     'krb5config': KRB5CONFIG,
                     'kerberos_service_name': KERBEROS_SERVICE_NAME,
-                    'principal':PRINCIPAL})
+                    'principal':PRINCIPAL,
+                    'path_type': 'local'})

+ 8 - 3
app/core/datasource/hive.py

@@ -12,7 +12,7 @@ class HiveDS(DataSourceBase):
     def __init__(self, host, port,database_name,\
         username=None, password=None,  kerberos=0, \
         keytab=None, krb5config=None, kerberos_service_name=None, \
-        principal=None, type='hive'):
+        principal=None, type='hive', path_type='minio'):
         DataSourceBase.__init__(self, host, port, username, password, database_name, type)
         self.host = host
         self.port = port
@@ -24,6 +24,7 @@ class HiveDS(DataSourceBase):
         self.krb5config = krb5config
         self.kerberos_service_name = kerberos_service_name
         self.principal = principal
+        self.path_type = path_type
 
 
     @property
@@ -45,8 +46,12 @@ class HiveDS(DataSourceBase):
             if self.kerberos == 0:
                 conn = hive.Connection(host=self.host, port=self.port, username=self.username, database=self.database_name)
             else:
-                get_kerberos_to_local(self.keytab)
-                file_name = './assets/kerberos/'+self.keytab.split("/")[-1]
+                file_name = ''
+                if self.path_type == 'minio':
+                    get_kerberos_to_local(self.keytab)
+                    file_name = './assets/kerberos/'+self.keytab.split("/")[-1]
+                else:
+                    file_name = self.keytab
                 os.system(f'kinit -kt {file_name} {self.principal}')
                 conn = hive.Connection(host=self.host, database=self.database_name, port=self.port,  auth="KERBEROS", kerberos_service_name=self.kerberos_service_name)
 

+ 2 - 1
production.ini

@@ -43,7 +43,8 @@ principal = ailab@EMR-5XJSY31F
 
 
 [HIVE_METASTORE]
-uris=thrift://10.254.20.18:7004
+uris=thrift://10.254.20.22:7004
+;uris=thrift://10.254.20.18:7004
 
 [TASK_IMAGES]
 datax=yldc-docker.pkg.coding.yili.com/aiplatform/docker/aihub-datax-yili:latest