У нас есть соединитель Presto (Версия - 323-E.8) с кластером CDP Hive3 с поддержкой Ranger, где я могу выполнить запрос на выборку для существующих таблиц Hive ИЛИ C, но не смог создать или удалить какие-либо взгляды на улей метастор. Это выдает ошибку выдачи разрешений, и мой администратор предоставил все разрешения пользователю от Ranger & AD, и я могу выполнять все операции из Билайн с одним и тем же пользователем на сервере. Свойства куста:
*connector.name=hive-hadoop2
hive.metastore.uri=thrift://XXXXX
hive.views-execution.enabled=true
hive.metastore.authentication.type=KERBEROS
hive.metastore.service.principal=hive/_HOST@XXXX
hive.metastore.client.principal=XXXXX
hive.metastore.client.keytab=/abc/xxxx.keytab
hive.hdfs.wire-encryption.enabled=false
hive.metastore.thrift.impersonation.enabled=true
hive.config.resources=/etc/cdp/core-site.xml,/etc/cdp/hdfs-site.xml,/etc/cdp/hive-site.xml
hive.hdfs.authentication.type=KERBEROS
hive.hdfs.presto.principal=hdfs/_HOST@XXXXX
hive.hdfs.presto.principal=XXXX
hive.hdfs.presto.keytab=/abc/xxxx.keytab
hive.security=ranger
ranger.policy-rest-url=https://XXXXX:6182
ranger.service-name=cm_hive
ranger.authentication-type=KERBEROS
ranger.kerberos-principal=XXXX
ranger.kerberos-keytab=/abc/xxxx.keytab
ranger.plugin-policy-ssl-config-file=/abc/ssl-client.xml*
Ошибка: io.presto sql .spi.PrestoException: Тип операции CREATE_VIEW не разрешен для пользователя: XXXXX в io.presto sql .plugin.hive.metastore.thrift. ThriftHiveMetastore.createTable (ThriftHiveMetastore. java: 1036) в io.presto sql .plugin.hive.metastore.thrift.BridgingHiveMetastore.createTable (BridgingHiveMetastore. java: 18p. hive.metastore.cache.CachingHiveMetastore.createTable (CachingHiveMetastore. java: 524) в io.presto sql .plugin.hive.metastore.cache.CachingHiveMetastore.createTable (CachingHiveMetastore. * 101o) в 1014 sql .plugin.hive.metastore.SemiTransactionalHiveMetastore $ CreateTableOperation.run (SemiTransactionalHiveMetastore. java: 2692) в io.presto sql .plugin.hive.metastore. 1668) в io.presto sql .plugin.hive.metastore.SemiTransactionalHiveMetastore $ Committer.access $ 1000 (SemiTransactionalHiveMet astore. java: 1282) в io.presto sql .plugin.hive.metastore.SemiTransactionalHiveMetastore.commitShared (SemiTransactionalHiveMetastore. java: 1225) в io.presto sql .plugin.hive.miastore.metastore. commit (SemiTransactionalHiveMetastore. java: 991) в io.presto sql .plugin.hive.HiveMetadata.commit (HiveMetadata. java: 2408) в io.presto sql .plugin.hive.HiveConnector.commit ( HiveConnector. java: 202) в io.presto sql .transaction.InMemoryTransactionManager $ TransactionMetadata $ ConnectorTransactionMetadata.commit (InMemoryTransactionManager. java: 595) в java .util.concurrentableExecutors . java: 511) на com.google.common.util.concurrent.TrustedListenableFutureTask $ TrustedFutureInterruptibleTask.runInterruptibly (TrustedListenableFutureTask. java: 125) на com.google.common.util.concurrent.Inkruserte 1034 *: 57) на com.google.common.util.concurrent.TrustedListenableFutureTask.run (TrustedListenableFutureTask. * 103 5 *: 78) в io.airlift.concurrent.BoundedExecutor.drainQueue (BoundedExecutor. java: 78) в java .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. java: 1149) в java. util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 624) в java .lang.Thread.run (Тема. java: 748) Причина: org. apache .had oop .hive.metastore.api.MetaException: Тип операции CREATE_VIEW не разрешен для пользователя: XXXXX в орг. apache .had oop .hive.metastore.api.ThriftHiveMetastore $ create_table_result $ create_table_resultStandardScheme.read (10 *) * Store. 52658) в орг. apache .had oop .hive.metastore.api.ThriftHiveMetastore $ create_table_result $ create_table_resultStandardScheme.read (ThriftHiveMetastore. java: 52626) в орг. apache .had * 1052. metastore.api.ThriftHiveMetastore $ create_table_result.read (ThriftHiveMetastore. java: 52552) в org. apache .thrift.TServiceClient.receiveBase (TServiceClient. java: 86) в орг. apache .had * .hive.metastore.api.ThriftHiveMetastore $ Clie nt.recv_create_table (ThriftHiveMetastore. java: 1490) в орг. apache .had oop .hive.metastore.api.ThriftHiveMetastore $ Client.create_table (ThriftHiveMetastore. java: 143). .invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. * 10.ref. Метод (AbstractInvocationHandler. java: 86) на com.sun.proxy. $ Proxy370.create_table (Неизвестный источник) на io.presto sql .plugin.hive.metastore.thrift.ThriftHiveMetastoreClient.createTable * ThriftHiveMetasc. 161) на io.presto sql .plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda $ createTable $ 51 (ThriftHiveMetastore. java: 1024) на io.presto sql .plugin.hive.metastore.thriftThripipi & lambda; $ завернуть $ 0 (ThriftMetastoreApiStats * * тысяча семьдесят четыре:. 42) на io.presto sql .plugin.hive.util.RetryDriver.run (RetryDriver * 1 076 *:. 130) при io.presto sql .plugin. hive.metastore.thrift.ThriftHiveMetastore.createTable (ThriftHiveMetastore. java: 1022) ... еще 19