From 72bfb4b1a881af85808cd7f14bc3e15160a1e811 Mon Sep 17 00:00:00 2001 From: Szabolcs Vasas Date: Mon, 4 Mar 2019 10:35:36 +0100 Subject: [PATCH] =?UTF-8?q?Root=20temp=20directory=20path=20is=20now=20con?= =?UTF-8?q?figurable=20in=20HiveAbstractDatasetRe=E2=80=A6=20(#487)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Root temp directory path is now configurable in HiveAbstractDatasetRepository * Log level is set to debug. --- .../spi/hive/HiveAbstractDatasetRepository.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/kite-data/kite-data-hive/src/main/java/org/kitesdk/data/spi/hive/HiveAbstractDatasetRepository.java b/kite-data/kite-data-hive/src/main/java/org/kitesdk/data/spi/hive/HiveAbstractDatasetRepository.java index eab778220c..0680493da5 100644 --- a/kite-data/kite-data-hive/src/main/java/org/kitesdk/data/spi/hive/HiveAbstractDatasetRepository.java +++ b/kite-data/kite-data-hive/src/main/java/org/kitesdk/data/spi/hive/HiveAbstractDatasetRepository.java @@ -24,14 +24,25 @@ import org.kitesdk.data.DatasetNotFoundException; import org.kitesdk.data.spi.filesystem.FileSystemDatasetRepository; import org.kitesdk.data.spi.MetadataProvider; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; class HiveAbstractDatasetRepository extends FileSystemDatasetRepository { + private static final Logger LOG = LoggerFactory + .getLogger(HiveAbstractDatasetRepository.class); + private static final String HIVE_METASTORE_URIS_SEPARATOR = ","; private final MetadataProvider provider; private final URI repoUri; + private static Path getRootDirectory(Configuration conf) { + String pathString = conf.get("kite.hive.tmp.root", "/tmp"); + LOG.debug("Using root directory: " + pathString); + return new Path(pathString); + } + /** * Create an HCatalog dataset repository with external tables. */ @@ -48,7 +59,7 @@ class HiveAbstractDatasetRepository extends FileSystemDatasetRepository { HiveAbstractDatasetRepository(Configuration conf, MetadataProvider provider) { // Because the managed provider overrides dataset locations, the only time // the storage path is used is to create temporary dataset repositories - super(conf, new Path("/tmp"), provider); + super(conf, getRootDirectory(conf), provider); this.provider = provider; this.repoUri = getRepositoryUri(conf, null); }