org.apache.hadoop.hive.metastore.api.HiveObjectType Java Examples
The following examples show how to use
org.apache.hadoop.hive.metastore.api.HiveObjectType.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AWSCatalogMetastoreClient.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 7 votes |
@Override public List<org.apache.hadoop.hive.metastore.api.Partition> listPartitionsWithAuthInfo(String database, String table, List<String> partVals, short maxParts, String user, List<String> groups) throws MetaException, TException, NoSuchObjectException { List<org.apache.hadoop.hive.metastore.api.Partition> partitions = listPartitions(database, table, partVals, maxParts); for (org.apache.hadoop.hive.metastore.api.Partition p : partitions) { HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.PARTITION); obj.setDbName(database); obj.setObjectName(table); obj.setPartValues(p.getValues()); org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet set; try { set = get_privilege_set(obj, user, groups); } catch (MetaException e) { logger.info(String.format("No privileges found for user: %s, " + "groups: [%s]", user, LoggingHelper.concatCollectionToStringForLogging(groups, ","))); set = new org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet(); } p.setPrivileges(set); } return partitions; }
Example #2
Source File: AWSCatalogMetastoreClient.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 6 votes |
@Override public org.apache.hadoop.hive.metastore.api.Partition getPartitionWithAuthInfo( String databaseName, String tableName, List<String> values, String userName, List<String> groupNames) throws MetaException, UnknownTableException, NoSuchObjectException, TException { // TODO move this into the service org.apache.hadoop.hive.metastore.api.Partition partition = getPartition(databaseName, tableName, values); org.apache.hadoop.hive.metastore.api.Table table = getTable(databaseName, tableName); if ("TRUE".equalsIgnoreCase(table.getParameters().get("PARTITION_LEVEL_PRIVILEGE"))) { String partName = Warehouse.makePartName(table.getPartitionKeys(), values); HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.PARTITION); obj.setDbName(databaseName); obj.setObjectName(tableName); obj.setPartValues(values); org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet privilegeSet = this.get_privilege_set(obj, userName, groupNames); partition.setPrivileges(privilegeSet); } return partition; }
Example #3
Source File: AWSCatalogMetastoreClient.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 6 votes |
@Override public List<org.apache.hadoop.hive.metastore.api.Partition> listPartitionsWithAuthInfo(String database, String table, short maxParts, String user, List<String> groups) throws MetaException, TException, NoSuchObjectException { List<org.apache.hadoop.hive.metastore.api.Partition> partitions = listPartitions(database, table, maxParts); for (org.apache.hadoop.hive.metastore.api.Partition p : partitions) { HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.PARTITION); obj.setDbName(database); obj.setObjectName(table); obj.setPartValues(p.getValues()); org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet set = this.get_privilege_set(obj, user, groups); p.setPrivileges(set); } return partitions; }
Example #4
Source File: AWSCatalogMetastoreClient.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 6 votes |
@Override public List<org.apache.hadoop.hive.metastore.api.Partition> listPartitionsWithAuthInfo(String database, String table, List<String> partVals, short maxParts, String user, List<String> groups) throws MetaException, TException, NoSuchObjectException { List<org.apache.hadoop.hive.metastore.api.Partition> partitions = listPartitions(database, table, partVals, maxParts); for (org.apache.hadoop.hive.metastore.api.Partition p : partitions) { HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.PARTITION); obj.setDbName(database); obj.setObjectName(table); obj.setPartValues(p.getValues()); org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet set; try { set = get_privilege_set(obj, user, groups); } catch (MetaException e) { logger.info(String.format("No privileges found for user: %s, " + "groups: [%s]", user, LoggingHelper.concatCollectionToStringForLogging(groups, ","))); set = new org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet(); } p.setPrivileges(set); } return partitions; }
Example #5
Source File: AWSCatalogMetastoreClient.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 6 votes |
@Override public org.apache.hadoop.hive.metastore.api.Partition getPartitionWithAuthInfo( String databaseName, String tableName, List<String> values, String userName, List<String> groupNames) throws MetaException, UnknownTableException, NoSuchObjectException, TException { // TODO move this into the service org.apache.hadoop.hive.metastore.api.Partition partition = getPartition(databaseName, tableName, values); org.apache.hadoop.hive.metastore.api.Table table = getTable(databaseName, tableName); if ("TRUE".equalsIgnoreCase(table.getParameters().get("PARTITION_LEVEL_PRIVILEGE"))) { String partName = Warehouse.makePartName(table.getPartitionKeys(), values); HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.PARTITION); obj.setDbName(databaseName); obj.setObjectName(tableName); obj.setPartValues(values); org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet privilegeSet = this.get_privilege_set(obj, userName, groupNames); partition.setPrivileges(privilegeSet); } return partition; }
Example #6
Source File: AWSCatalogMetastoreClient.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 6 votes |
@Override public List<org.apache.hadoop.hive.metastore.api.Partition> listPartitionsWithAuthInfo(String database, String table, short maxParts, String user, List<String> groups) throws MetaException, TException, NoSuchObjectException { List<org.apache.hadoop.hive.metastore.api.Partition> partitions = listPartitions(database, table, maxParts); for (org.apache.hadoop.hive.metastore.api.Partition p : partitions) { HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.PARTITION); obj.setDbName(database); obj.setObjectName(table); obj.setPartValues(p.getValues()); org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet set = this.get_privilege_set(obj, user, groups); p.setPrivileges(set); } return partitions; }
Example #7
Source File: HiveTableManagerTest.java From data-highway with Apache License 2.0 | 5 votes |
@Test public void grantPublicSelect() throws Exception { underTest.grantPublicSelect(TABLE, "grantor"); ArgumentCaptor<PrivilegeBag> privilegeBagCaptor = ArgumentCaptor.forClass(PrivilegeBag.class); verify(metaStoreClient).grant_privileges(privilegeBagCaptor.capture()); PrivilegeBag privilegeBag = privilegeBagCaptor.getValue(); assertThat(privilegeBag.getPrivilegesSize(), is(1)); HiveObjectPrivilege privilege = privilegeBag.getPrivileges().get(0); HiveObjectRef hiveObject = privilege.getHiveObject(); assertThat(hiveObject.getObjectType(), is(HiveObjectType.TABLE)); assertThat(hiveObject.getDbName(), is(DATABASE)); assertThat(hiveObject.getObjectName(), is(TABLE)); assertThat(hiveObject.getPartValues(), is(nullValue())); assertThat(hiveObject.getColumnName(), is(nullValue())); assertThat(privilege.getPrincipalName(), is("public")); assertThat(privilege.getPrincipalType(), is(ROLE)); PrivilegeGrantInfo grantInfo = privilege.getGrantInfo(); assertThat(grantInfo.getPrivilege(), is("SELECT")); assertThat(grantInfo.getCreateTime(), is(0)); assertThat(grantInfo.getGrantor(), is("grantor")); assertThat(grantInfo.getGrantorType(), is(ROLE)); assertThat(grantInfo.isGrantOption(), is(false)); }
Example #8
Source File: TestObjects.java From aws-glue-data-catalog-client-for-apache-hive-metastore with Apache License 2.0 | 5 votes |
public static HiveObjectRef getHiveObjectRef() { HiveObjectRef obj = new HiveObjectRef(); obj.setObjectType(HiveObjectType.TABLE); obj.setDbName("default"); obj.setObjectName("foo"); return obj; }
Example #9
Source File: DatabaseMappingImpl.java From waggle-dance with Apache License 2.0 | 5 votes |
@Override public HiveObjectRef transformInboundHiveObjectRef(HiveObjectRef obj) { obj.setDbName(metaStoreMapping.transformInboundDatabaseName(obj.getDbName())); if (obj.getObjectType() == HiveObjectType.DATABASE) { obj.setObjectName(metaStoreMapping.transformInboundDatabaseName(obj.getObjectName())); } return obj; }
Example #10
Source File: DatabaseMappingImpl.java From waggle-dance with Apache License 2.0 | 5 votes |
@Override public HiveObjectRef transformOutboundHiveObjectRef(HiveObjectRef obj) { obj.setDbName(metaStoreMapping.transformOutboundDatabaseName(obj.getDbName())); if (obj.getObjectType() == HiveObjectType.DATABASE) { obj.setObjectName(metaStoreMapping.transformOutboundDatabaseName(obj.getObjectName())); } return obj; }
Example #11
Source File: FederatedHMSHandler.java From waggle-dance with Apache License 2.0 | 5 votes |
private DatabaseMapping checkWritePermissionsForPrivileges(PrivilegeBag privileges) throws NoSuchObjectException { DatabaseMapping mapping = databaseMappingService .databaseMapping(privileges.getPrivileges().get(0).getHiveObject().getDbName()); for (HiveObjectPrivilege privilege : privileges.getPrivileges()) { HiveObjectRef obj = privilege.getHiveObject(); mapping.checkWritePermissions(obj.getDbName()); if (obj.getObjectType() == HiveObjectType.DATABASE) { mapping.checkWritePermissions(obj.getObjectName()); } } return mapping; }
Example #12
Source File: DatabaseMappingImplTest.java From waggle-dance with Apache License 2.0 | 5 votes |
@Before public void setUp() { databaseMapping = new DatabaseMappingImpl(metastoreMapping, queryMapping); database = new Database(); database.setName(DB_NAME); partition = new Partition(); partition.setDbName(DB_NAME); partitions = Lists.newArrayList(partition); index = new Index(); index.setDbName(DB_NAME); hiveObjectRef = new HiveObjectRef(); hiveObjectRef.setDbName(DB_NAME); hiveObjectRef.setObjectType(HiveObjectType.DATABASE); hiveObjectRef.setObjectName(DB_NAME); hiveObjectPrivileges = new ArrayList<>(); HiveObjectPrivilege hiveObjectPrivilege = new HiveObjectPrivilege(); hiveObjectPrivilege.setHiveObject(hiveObjectRef); hiveObjectPrivileges.add(hiveObjectPrivilege); partitionSpec = new PartitionSpec(); partitionSpec.setDbName(DB_NAME); when(metastoreMapping.transformInboundDatabaseName(anyString())).thenReturn(IN_DB_NAME); when(metastoreMapping.transformOutboundDatabaseName(anyString())).thenReturn(OUT_DB_NAME); when(queryMapping.transformOutboundDatabaseName(metastoreMapping, VIEW_EXPANDED_TEXT)) .thenReturn(VIEW_EXPANDED_TEXT_TRANSFORMED); when(queryMapping.transformOutboundDatabaseName(metastoreMapping, VIEW_ORIGINAL_TEXT)) .thenReturn(VIEW_ORIGINAL_TEXT_TRANSFORMED); }
Example #13
Source File: DatabaseMappingImplTest.java From waggle-dance with Apache License 2.0 | 5 votes |
@Test public void transformInboundHiveObjectRefObjectTypeIsNotDatabase() throws Exception { hiveObjectRef.setObjectType(HiveObjectType.TABLE); hiveObjectRef.setObjectName("table"); HiveObjectRef result = databaseMapping.transformInboundHiveObjectRef(hiveObjectRef); assertThat(result, is(sameInstance(hiveObjectRef))); assertThat(result.getDbName(), is(IN_DB_NAME)); assertThat(result.getObjectName(), is("table")); }
Example #14
Source File: DatabaseMappingImplTest.java From waggle-dance with Apache License 2.0 | 5 votes |
@Test public void transformOutboundHiveObjectRefObjectTypeIsNotDatabase() throws Exception { hiveObjectRef.setObjectType(HiveObjectType.TABLE); hiveObjectRef.setObjectName("table"); HiveObjectRef result = databaseMapping.transformOutboundHiveObjectRef(hiveObjectRef); assertThat(result, is(sameInstance(hiveObjectRef))); assertThat(result.getDbName(), is(OUT_DB_NAME)); assertThat(result.getObjectName(), is("table")); }
Example #15
Source File: HiveHelper.java From Hue-Ctrip-DI with MIT License | 5 votes |
public boolean hasPrivilegeToSetCleanAlert(String database, String table, String user) { HiveMetaStoreClient hiveClient = getHiveMetaStoreClient(); HiveObjectRef hiveObject = new HiveObjectRef(); hiveObject.setDbName(database); hiveObject.setObjectName(table); hiveObject.setObjectType(HiveObjectType.TABLE); List<HiveObjectPrivilege> privileges = new ArrayList<HiveObjectPrivilege>(); try { privileges = hiveClient.list_privileges(user, PrincipalType.USER, hiveObject); } catch (Exception e) { logger.error("Error to get privileges:", e); return false; } for (HiveObjectPrivilege privilege : privileges) { String privilegeName = privilege.getGrantInfo().getPrivilege(); if (privilegeName != null && ("all".equalsIgnoreCase(privilegeName) || "create".equalsIgnoreCase(privilegeName) || "ALTER" .equalsIgnoreCase(privilegeName))) { return true; } } return false; }