org.apache.hadoop.hive.ql.metadata.Hive.renamePartition()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(3.0k)|赞(0)|评价(0)|浏览(209)

本文整理了Java中org.apache.hadoop.hive.ql.metadata.Hive.renamePartition()方法的一些代码示例,展示了Hive.renamePartition()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Hive.renamePartition()方法的具体详情如下:
包路径:org.apache.hadoop.hive.ql.metadata.Hive
类名称:Hive
方法名:renamePartition

Hive.renamePartition介绍

[英]Rename a old partition to new partition
[中]

代码示例

代码示例来源:origin: apache/hive

db.renamePartition(tbl, oldPartSpec, part);
Partition newPart = db.getPartition(tbl, renamePartitionDesc.getNewPartSpec(), false);
work.getInputs().add(new ReadEntity(oldPart));

代码示例来源:origin: apache/drill

/**
 * Rename a partition in a table
 *
 * @param db
 *          Database to rename the partition.
 * @param renamePartitionDesc
 *          rename old Partition to new one.
 * @return Returns 0 when execution succeeds and above 0 if it fails.
 * @throws HiveException
 */
private int renamePartition(Hive db, RenamePartitionDesc renamePartitionDesc) throws HiveException {
 Table tbl = db.getTable(renamePartitionDesc.getTableName());
 LinkedHashMap<String, String> oldPartSpec = renamePartitionDesc.getOldPartSpec();
 Partition oldPart = db.getPartition(tbl, oldPartSpec, false);
 if (oldPart == null) {
  String partName = FileUtils.makePartName(new ArrayList<String>(oldPartSpec.keySet()),
    new ArrayList<String>(oldPartSpec.values()));
  throw new HiveException("Rename partition: source partition [" + partName
    + "] does not exist.");
 }
 Partition part = db.getPartition(tbl, oldPartSpec, false);
 part.setValues(renamePartitionDesc.getNewPartSpec());
 db.renamePartition(tbl, oldPartSpec, part);
 Partition newPart = db
   .getPartition(tbl, renamePartitionDesc.getNewPartSpec(), false);
 work.getInputs().add(new ReadEntity(oldPart));
 // We've already obtained a lock on the table, don't lock the partition too
 addIfAbsentByName(new WriteEntity(newPart, WriteEntity.WriteType.DDL_NO_LOCK));
 return 0;
}

代码示例来源:origin: com.facebook.presto.hive/hive-apache

/**
 * Rename a partition in a table
 *
 * @param db
 *          Database to rename the partition.
 * @param renamePartitionDesc
 *          rename old Partition to new one.
 * @return Returns 0 when execution succeeds and above 0 if it fails.
 * @throws HiveException
 */
private int renamePartition(Hive db, RenamePartitionDesc renamePartitionDesc) throws HiveException {
 Table tbl = db.getTable(renamePartitionDesc.getTableName());
 LinkedHashMap<String, String> oldPartSpec = renamePartitionDesc.getOldPartSpec();
 Partition oldPart = db.getPartition(tbl, oldPartSpec, false);
 if (oldPart == null) {
  String partName = FileUtils.makePartName(new ArrayList<String>(oldPartSpec.keySet()),
    new ArrayList<String>(oldPartSpec.values()));
  throw new HiveException("Rename partition: source partition [" + partName
    + "] does not exist.");
 }
 Partition part = db.getPartition(tbl, oldPartSpec, false);
 part.setValues(renamePartitionDesc.getNewPartSpec());
 db.renamePartition(tbl, oldPartSpec, part);
 Partition newPart = db
   .getPartition(tbl, renamePartitionDesc.getNewPartSpec(), false);
 work.getInputs().add(new ReadEntity(oldPart));
 // We've already obtained a lock on the table, don't lock the partition too
 work.getOutputs().add(new WriteEntity(newPart, WriteEntity.WriteType.DDL_NO_LOCK));
 return 0;
}

相关文章

Hive类方法