diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/util/HiveUtil.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/util/HiveUtil.java index bf46770d37f2..8e350b87cd00 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/util/HiveUtil.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/util/HiveUtil.java @@ -379,7 +379,7 @@ public static Optional getCompressionCodec(TextInputFormat inp } } - @SuppressWarnings({"unchecked", "RedundantCast"}) + @SuppressWarnings("unchecked") private static Class> getInputFormatClass(JobConf conf, String inputFormatName) throws ClassNotFoundException { diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java index 68e50edba22f..405017236503 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java @@ -31,7 +31,9 @@ public enum HudiErrorCode HUDI_CURSOR_ERROR(6, EXTERNAL), HUDI_FILESYSTEM_ERROR(7, EXTERNAL), HUDI_PARTITION_NOT_FOUND(8, EXTERNAL), - HUDI_UNSUPPORTED_TABLE_TYPE(9, EXTERNAL); + // HUDI_UNSUPPORTED_TABLE_TYPE(9, EXTERNAL), // Unused. Could be mistaken with HUDI_UNKNOWN_TABLE_TYPE. + + /**/; private final ErrorCode errorCode; diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java index 6034671f7efa..c0a959c6839c 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java @@ -15,7 +15,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import io.airlift.log.Logger; import io.trino.filesystem.Location; import io.trino.filesystem.TrinoFileSystemFactory; import io.trino.plugin.base.classloader.ClassLoaderSafeSystemTable; @@ -72,8 +71,6 @@ public class HudiMetadata implements ConnectorMetadata { - public static final Logger log = Logger.get(HudiMetadata.class); - private final HiveMetastore metastore; private final TrinoFileSystemFactory fileSystemFactory; private final TypeManager typeManager; diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/table/HudiTableMetaClient.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/table/HudiTableMetaClient.java index 40d2db6ea83e..25f916ce0bd5 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/table/HudiTableMetaClient.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/table/HudiTableMetaClient.java @@ -24,7 +24,6 @@ import io.trino.plugin.hudi.timeline.HudiTimeline; import io.trino.plugin.hudi.timeline.TimelineLayout; import io.trino.plugin.hudi.timeline.TimelineLayoutVersion; -import io.trino.spi.TrinoException; import java.io.IOException; import java.util.ArrayList; @@ -36,9 +35,7 @@ import java.util.stream.Stream; import static com.google.common.base.Preconditions.checkArgument; -import static io.trino.plugin.hudi.HudiErrorCode.HUDI_UNSUPPORTED_TABLE_TYPE; import static io.trino.plugin.hudi.HudiUtil.isHudiTable; -import static java.lang.String.format; import static java.util.Objects.requireNonNull; public class HudiTableMetaClient @@ -50,11 +47,12 @@ public class HudiTableMetaClient private final Location metaPath; private final Location basePath; - private HudiTableType tableType; - private TimelineLayoutVersion timelineLayoutVersion; - private HudiTableConfig tableConfig; + private final HudiTableType tableType; + private final TimelineLayoutVersion timelineLayoutVersion; + private final HudiTableConfig tableConfig; + private final TrinoFileSystem fileSystem; + private HudiActiveTimeline activeTimeline; - private TrinoFileSystem fileSystem; protected HudiTableMetaClient( TrinoFileSystem fileSystem, @@ -99,7 +97,6 @@ public HudiTimeline getCommitsTimeline() // Include commit action to be able to start doing a MOR over a COW table - no // migration required getActiveTimeline().getCommitsTimeline(); - default -> throw new TrinoException(HUDI_UNSUPPORTED_TABLE_TYPE, format("Unsupported table type : %s", this.getTableType())); }; } diff --git a/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/testing/ResourceHudiTablesInitializer.java b/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/testing/ResourceHudiTablesInitializer.java index 2e8de4515e97..2cc591b92400 100644 --- a/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/testing/ResourceHudiTablesInitializer.java +++ b/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/testing/ResourceHudiTablesInitializer.java @@ -29,7 +29,6 @@ import io.trino.plugin.hive.metastore.Table; import io.trino.testing.QueryRunner; import org.apache.hadoop.hive.metastore.TableType; -import org.apache.hudi.common.model.HoodieTableType; import java.io.File; import java.io.IOException; @@ -51,8 +50,6 @@ import static io.trino.plugin.hive.HiveType.HIVE_INT; import static io.trino.plugin.hive.HiveType.HIVE_LONG; import static io.trino.plugin.hive.HiveType.HIVE_STRING; -import static org.apache.hudi.common.model.HoodieTableType.COPY_ON_WRITE; -import static org.apache.hudi.common.model.HoodieTableType.MERGE_ON_READ; public class ResourceHudiTablesInitializer implements HudiTablesInitializer @@ -152,10 +149,10 @@ private static void copyDir(Path srcDir, Path dstDir) public enum TestingTable { - HUDI_NON_PART_COW(COPY_ON_WRITE, nonPartitionRegularColumns()), - HUDI_COW_PT_TBL(COPY_ON_WRITE, multiPartitionRegularColumns(), multiPartitionColumns(), multiPartitions()), - STOCK_TICKS_COW(COPY_ON_WRITE, stockTicksRegularColumns(), stockTicksPartitionColumns(), stockTicksPartitions()), - STOCK_TICKS_MOR(MERGE_ON_READ, stockTicksRegularColumns(), stockTicksPartitionColumns(), stockTicksPartitions()), + HUDI_NON_PART_COW(nonPartitionRegularColumns()), + HUDI_COW_PT_TBL(multiPartitionRegularColumns(), multiPartitionColumns(), multiPartitions()), + STOCK_TICKS_COW(stockTicksRegularColumns(), stockTicksPartitionColumns(), stockTicksPartitions()), + STOCK_TICKS_MOR(stockTicksRegularColumns(), stockTicksPartitionColumns(), stockTicksPartitions()), /**/; private static final List HUDI_META_COLUMNS = ImmutableList.of( @@ -165,26 +162,23 @@ public enum TestingTable new Column("_hoodie_partition_path", HIVE_STRING, Optional.empty()), new Column("_hoodie_file_name", HIVE_STRING, Optional.empty())); - private final HoodieTableType tableType; private final List regularColumns; private final List partitionColumns; private final Map partitions; TestingTable( - HoodieTableType tableType, List regularColumns, List partitionColumns, Map partitions) { - this.tableType = tableType; this.regularColumns = regularColumns; this.partitionColumns = partitionColumns; this.partitions = partitions; } - TestingTable(HoodieTableType tableType, List regularColumns) + TestingTable(List regularColumns) { - this(tableType, regularColumns, ImmutableList.of(), ImmutableMap.of()); + this(regularColumns, ImmutableList.of(), ImmutableMap.of()); } public String getTableName() @@ -192,11 +186,6 @@ public String getTableName() return name().toLowerCase(Locale.ROOT); } - public HoodieTableType getTableType() - { - return tableType; - } - public List getDataColumns() { return Stream.of(HUDI_META_COLUMNS, regularColumns)