在 java 中使用 hiveContext 修复配置单元 table

Repairing hive table using hiveContext in java

我想在配置单元中手动 运行 msck 修复命令的任何新 added/deleted partitions.Instead 修复配置单元 table,有什么方法可以实现这个java?我正在尝试从 hdfs 和 hive metastore 获取所有分区,然后在比较它们之后将新 added/deleted 分区放入 hive metastore.But 我无法获得 api 来自 hivecontext.I 已尝试使用 hivecontext 获取所有分区,但它抛出错误 table 未找到。

System.out.println(hiveContext.metadataHive().getTable("anshu","mytable").getAllPartitions());

有什么方法可以使用 java 在配置单元中 add/remove 分区吗?

Spark 选项:

使用 hivecontext,您可以像下面的示例一样执行此操作。无需手动操作

sqlContext = HiveContext(sc)
sqlContext.sql("MSCK REPAIR TABLE your table")

Is there any way to add/remove partitions in hive using java?

普通 java 选项:

如果你想在不使用 spark 的情况下以简单的 java 方式完成它,那么使用简单的 java 代码 您可以使用 class HiveMetaStoreClient 直接从 HiveMetaStore 查询。

请参阅