我有一个关于 hive 仓库连接器连接Spark到 hive 的问题。我的hive-warehouse连接器jar版本是hive-warehouse-connector-assembly-1.0.0.3.1.0.0-78.jar。
我能够成功地连接到配置单元并创建数据库,但是当我在hiveserver2中看到我的活动会话时,我可以看到我的连接仍然处于活动状态,即使我在finally块中有close函数。我从hortonworks看文件(https://docs.cloudera.com/runtime/7.0.0/integrating-hive-and-bi/topics/hive-hwc-interfaces.html)并看到hivewarehouseconnector在顶级接口上公开了close()方法。但是当我从github查看最新的jar版本时,我可以看到在顶层没有这样的方法(https://github.com/hortonworks-spark/spark-llap/releases/tag/v1.0.7-1.6). 有人知道如何关闭和释放HiveWarehouseConnector中的所有源,以便我可以看到会话从hiveserver2中清除吗?
是否有其他方法将spark连接到hive以便清除spark和hivecontext?
以下是我的代码供参考
try {
val fullTableName = s"${_databaseName}.$tableName"
val databasePath = s"$tableLocation/${_databaseName}"
val finalPath = s"$databasePath/$tableName"
logger.info(s"Database path: $databasePath")
logger.info(s"Full table name: $fullTableName")
logger.info(s"Final table path: $finalPath")
// Create database
logger.info(s"Creating database ${_databaseName} if it doesn't exists")
println(s"executed query : CREATE DATABASE IF NOT EXISTS ${_databaseName} LOCATION '$databasePath'")
hiveSession.executeUpdate(s"CREATE DATABASE IF NOT EXISTS ${_databaseName} LOCATION '$databasePath'")
fullTableName
} finally {
hiveSession.session().close()
}
暂无答案!
目前还没有任何答案,快来回答吧!