本文整理了Java中org.apache.hadoop.hive.metastore.api.Partition.getTableName()
方法的一些代码示例,展示了Partition.getTableName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Partition.getTableName()
方法的具体详情如下:
包路径:org.apache.hadoop.hive.metastore.api.Partition
类名称:Partition
方法名:getTableName
暂无
代码示例来源:origin: apache/hive
@Override public String getTableName() { return partition.getTableName(); }
@Override public Map<String, String> getParameters() { return partition.getParameters(); }
代码示例来源:origin: apache/incubator-gobblin
@Override
public String toString() {
return String.format("Deregister partition %s.%s %s on Hive metastore %s.", this.partition.getDbName(),
this.partition.getTableName(), Arrays.toString(this.partition.getValues().toArray()),
this.metastoreURI.isPresent() ? this.metastoreURI.get() : "default");
}
}
代码示例来源:origin: apache/hive
public static String getQualifiedName(Partition partition) {
return partition.getDbName() + "." + partition.getTableName() + partition.getValues();
}
代码示例来源:origin: apache/hive
public HiveObjectRef buildPartitionReference(Partition part) {
return new HiveObjectRef(HiveObjectType.PARTITION, part.getDbName(), part.getTableName(),
part.getValues(), null);
}
代码示例来源:origin: prestodb/presto
private static boolean partitionMatches(Partition partition, String databaseName, String tableName, List<String> parts)
{
if (!partition.getDbName().equals(databaseName) ||
!partition.getTableName().equals(tableName)) {
return false;
}
List<String> values = partition.getValues();
if (values.size() != parts.size()) {
return false;
}
for (int i = 0; i < values.size(); i++) {
String part = parts.get(i);
if (!part.isEmpty() && !values.get(i).equals(part)) {
return false;
}
}
return true;
}
代码示例来源:origin: prestodb/presto
public static Partition fromMetastoreApiPartition(org.apache.hadoop.hive.metastore.api.Partition partition)
{
StorageDescriptor storageDescriptor = partition.getSd();
if (storageDescriptor == null) {
throw new PrestoException(HIVE_INVALID_METADATA, "Partition does not contain a storage descriptor: " + partition);
}
Partition.Builder partitionBuilder = Partition.builder()
.setDatabaseName(partition.getDbName())
.setTableName(partition.getTableName())
.setValues(partition.getValues())
.setColumns(storageDescriptor.getCols().stream()
.map(ThriftMetastoreUtil::fromMetastoreApiFieldSchema)
.collect(toList()))
.setParameters(partition.getParameters());
fromMetastoreApiStorageDescriptor(storageDescriptor, partitionBuilder.getStorageBuilder(), format("%s.%s", partition.getTableName(), partition.getValues()));
return partitionBuilder.build();
}
代码示例来源:origin: apache/hive
private void dropPartition(Partition partition, boolean ifExists, boolean deleteData)
throws HCatException, MetaException, TException {
try {
hmsClient.dropPartition(partition.getDbName(), partition.getTableName(), partition.getValues(), deleteData);
} catch (NoSuchObjectException e) {
if (!ifExists) {
throw new ObjectNotFoundException(
"NoSuchObjectException while dropping partition: " + partition.getValues(), e);
}
}
}
代码示例来源:origin: apache/hive
@Override
public String toString() {
return isPartition() ?
StatsUtils.getFullyQualifiedTableName(part.getDbName(), part.getTableName()) + "@"
+ part.getValues()
: Warehouse.getQualifiedName(tab);
}
}
代码示例来源:origin: apache/hive
@Override
public AlterPartitionMessage buildAlterPartitionMessage(Table table, Partition before, Partition after,
Long writeId) {
return new JSONAlterPartitionMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL,
before.getDbName(), before.getTableName(), table.getTableType(),
MessageBuilder.getPartitionKeyValues(table,before), writeId, now());
}
代码示例来源:origin: apache/drill
@Override
public String toString() {
return isPartition() ?
part.getDbName() + "." + part.getTableName() + "@" + part.getValues() :
tab.getDbName() + "." + tab.getTableName();
}
}
代码示例来源:origin: apache/incubator-gobblin
@Override
public void execute() throws IOException {
HiveTable hiveTable = HiveMetaStoreUtils.getHiveTable(this.table);
try (HiveRegister hiveRegister = HiveRegister.get(this.props, this.metastoreURI)) {
hiveRegister.dropPartitionIfExists(this.partition.getDbName(), this.partition.getTableName(),
hiveTable.getPartitionKeys(), this.partition.getValues());
}
}
代码示例来源:origin: apache/hive
private boolean startAddPartition(
RawStore ms, Partition part, List<FieldSchema> partitionKeys, boolean ifNotExists)
throws TException {
MetaStoreServerUtils.validatePartitionNameCharacters(part.getValues(),
partitionValidationPattern);
boolean doesExist = ms.doesPartitionExist(part.getCatName(),
part.getDbName(), part.getTableName(), partitionKeys, part.getValues());
if (doesExist && !ifNotExists) {
throw new AlreadyExistsException("Partition already exists: " + part);
}
return !doesExist;
}
代码示例来源:origin: apache/hive
private boolean isValidPartition(
Partition part, List<FieldSchema> partitionKeys, boolean ifNotExists) throws MetaException {
MetaStoreServerUtils.validatePartitionNameCharacters(part.getValues(),
partitionValidationPattern);
boolean doesExist = doesPartitionExist(part.getCatName(),
part.getDbName(), part.getTableName(), partitionKeys, part.getValues());
if (doesExist && !ifNotExists) {
throw new MetaException("Partition already exists: " + part);
}
return !doesExist;
}
代码示例来源:origin: apache/hive
@Override
public List<Partition> add_partitions(
List<Partition> parts, boolean ifNotExists, boolean needResults) throws TException {
if (parts.isEmpty()) {
return needResults ? new ArrayList<>() : null;
}
Partition part = parts.get(0);
AddPartitionsRequest req = new AddPartitionsRequest(
part.getDbName(), part.getTableName(), parts, ifNotExists);
req.setNeedResult(needResults);
AddPartitionsResult result = client.add_partitions_req(req);
return needResults ? filterHook.filterPartitions(result.getPartitions()) : null;
}
代码示例来源:origin: apache/hive
private void validatePartition(Partition expectedPartition, Partition actualPartition) {
assertEquals(expectedPartition.getValues(), actualPartition.getValues());
assertEquals(expectedPartition.getDbName(), actualPartition.getDbName());
assertEquals(expectedPartition.getTableName(), actualPartition.getTableName());
}
代码示例来源:origin: apache/hive
HCatPartition(HCatTable hcatTable, Partition partition) throws HCatException {
this.hcatTable = hcatTable;
this.tableName = partition.getTableName();
this.dbName = partition.getDbName();
this.createTime = partition.getCreateTime();
this.lastAccessTime = partition.getLastAccessTime();
this.parameters = partition.getParameters();
this.values = partition.getValues();
if (hcatTable != null && partition.getValuesSize() != hcatTable.getPartCols().size()) {
throw new HCatException("Mismatched number of partition columns between table:" + hcatTable.getDbName() + "." + hcatTable.getTableName()
+ " and partition " + partition.getValues());
}
this.sd = partition.getSd();
this.columns = getColumns(this.sd);
}
代码示例来源:origin: apache/hive
@Override
public boolean addPartition(Partition part) throws InvalidObjectException, MetaException {
boolean succ = rawStore.addPartition(part);
// in case of event based cache update, cache will be updated during commit.
if (succ && !canUseEvents) {
String dbName = normalizeIdentifier(part.getDbName());
String tblName = normalizeIdentifier(part.getTableName());
String catName = part.isSetCatName() ? normalizeIdentifier(part.getCatName()) : DEFAULT_CATALOG_NAME;
if (!shouldCacheTable(catName, dbName, tblName)) {
return succ;
}
sharedCache.addPartitionToCache(catName, dbName, tblName, part);
}
return succ;
}
代码示例来源:origin: apache/hive
private void validateAlterPartition(Partition expectedOldPartition,
Partition expectedNewPartition, String actualOldPartitionDbName,
String actualOldPartitionTblName,List<String> actualOldPartitionValues,
Partition actualNewPartition) {
assertEquals(expectedOldPartition.getValues(), actualOldPartitionValues);
assertEquals(expectedOldPartition.getDbName(), actualOldPartitionDbName);
assertEquals(expectedOldPartition.getTableName(), actualOldPartitionTblName);
validatePartition(expectedNewPartition, actualNewPartition);
}
代码示例来源:origin: apache/hive
@Test
public void testAddPartitionUpperCase() throws Exception {
String tableLocation = metaStore.getWarehouseRoot() + "/" + TABLE_NAME;
createTable(DB_NAME, TABLE_NAME, getMonthPartCol(), tableLocation);
Partition partition = buildPartition(Lists.newArrayList("APRIL"), getMonthPartCol(), 1);
client.add_partition(partition);
Partition part = client.getPartition(DB_NAME, TABLE_NAME, "month=APRIL");
Assert.assertNotNull(part);
Assert.assertEquals(TABLE_NAME, part.getTableName());
Assert.assertEquals(DB_NAME, part.getDbName());
Assert.assertEquals("APRIL", part.getValues().get(0));
Assert.assertEquals(tableLocation + "/month=APRIL", part.getSd().getLocation());
Assert.assertTrue(metaStore.isPathExists(new Path(part.getSd().getLocation())));
}
代码示例来源:origin: apache/hive
@Test
public void testAddPartitionDifferentNamesAndTypesInColAndTableCol() throws Exception {
createTable();
Partition partition = new PartitionBuilder()
.setDbName(DB_NAME)
.setTableName(TABLE_NAME)
.addValue("1000")
.addCol("time", "int")
.build(metaStore.getConf());
client.add_partition(partition);
Partition part = client.getPartition(DB_NAME, TABLE_NAME, "year=1000");
Assert.assertNotNull(part);
Assert.assertEquals(TABLE_NAME, part.getTableName());
Assert.assertEquals("1000", part.getValues().get(0));
Assert.assertTrue(metaStore.isPathExists(new Path(part.getSd().getLocation())));
}
内容来源于网络,如有侵权,请联系作者删除!