Вы можете попробовать получить информацию о разделе из метаданных.
1> получить информацию о метаданных из файла hive-site.xml (расположение: /hive/installation/location/hive/hive-2.1/conf)
2> Получите env и учетные данные
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>[hostname]</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>UserName</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>PWD</value>
<description>password to use against metastore database</description>
</property>
3> подключитесь к metastore, и ниже приведен запрос для получения информации о разделе.
select D.NAME, P.PART_NAME, T.TBL_NAME from PARTITIONS P INNER JOIN TBLS T ON P.TBL_ID=T.TBL_ID INNER JOIN DBS D ON T.DB_ID=D.DB_ID WHERE D.NAME=<DBNAME> AND T.TBL_NAME=<TBLNAME> AND P.PART_NAME LIKE '%class=2%';
Как только вы получитеразделить информацию, затем вы можете использовать функции replace и concat для получения оператора alter.
Надеюсь, это поможет.