diff --git llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java index c90ff52b33..35d066ac4a 100644 --- llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java +++ llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java @@ -537,7 +537,7 @@ private void ensureOrcReader() throws IOException { path = split.getPath(); if (fileKey instanceof Long && HiveConf.getBoolVar( daemonConf, ConfVars.LLAP_IO_USE_FILEID_PATH)) { - path = HdfsUtils.getFileIdPath(fsSupplier.get(), path, (long)fileKey); + path = HdfsUtils.getFileIdPath(path, (long)fileKey); } LlapIoImpl.ORC_LOGGER.trace("Creating reader for {} ({})", path, split.getPath()); long startTime = counters.startTimeCounter(); diff --git ql/src/java/org/apache/hadoop/hive/ql/io/HdfsUtils.java ql/src/java/org/apache/hadoop/hive/ql/io/HdfsUtils.java index 4de5c8cff4..f590eb6503 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/HdfsUtils.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/HdfsUtils.java @@ -102,10 +102,9 @@ public static long createTestFileId( // as public utility method in HDFS to obtain the inode-based path. private static String HDFS_ID_PATH_PREFIX = "/.reserved/.inodes/"; - public static Path getFileIdPath( - FileSystem fileSystem, Path path, long fileId) { - return ((fileSystem instanceof DistributedFileSystem)) - ? new Path(HDFS_ID_PATH_PREFIX + fileId) : path; + public static Path getFileIdPath(Path path, long fileId) { + // BI/ETL split strategies set fileId correctly when HDFS is used. + return (fileId > 0) ? new Path(HDFS_ID_PATH_PREFIX + fileId) : path; } public static boolean isDefaultFs(DistributedFileSystem fs) { diff --git ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java index 3fd93cad9a..a3bbb7b899 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java @@ -221,7 +221,7 @@ public void initialize( FileSystem fs = file.getFileSystem(configuration); if (cacheKey instanceof Long && HiveConf.getBoolVar( cacheConf, ConfVars.LLAP_IO_USE_FILEID_PATH)) { - file = HdfsUtils.getFileIdPath(fs, file, (long)cacheKey); + file = HdfsUtils.getFileIdPath(file, (long)cacheKey); } }