[HUDI-153] Use com.uber.hoodie.common.util.Option instead of Java and Guava Optional
This commit is contained in:
committed by
Balaji Varadarajan
parent
d288e32833
commit
722b6be04a
@@ -19,9 +19,9 @@
|
||||
package com.uber.hoodie.cli;
|
||||
|
||||
import com.jakewharton.fliptables.FlipTable;
|
||||
import com.uber.hoodie.common.util.Option;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
@@ -62,9 +62,9 @@ public class HoodiePrintHelper {
|
||||
}
|
||||
|
||||
Table table = new Table(rowHeader, fieldNameToConverterMap,
|
||||
Optional.ofNullable(sortByField.isEmpty() ? null : sortByField),
|
||||
Optional.ofNullable(isDescending),
|
||||
Optional.ofNullable(limit <= 0 ? null : limit)).addAllRows(rows).flip();
|
||||
Option.ofNullable(sortByField.isEmpty() ? null : sortByField),
|
||||
Option.ofNullable(isDescending),
|
||||
Option.ofNullable(limit <= 0 ? null : limit)).addAllRows(rows).flip();
|
||||
|
||||
return HoodiePrintHelper.print(table);
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
package com.uber.hoodie.cli;
|
||||
|
||||
import com.uber.hoodie.common.util.Option;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -40,12 +40,12 @@ public class Table implements Iterable<List<String>> {
|
||||
private final TableHeader rowHeader;
|
||||
// User-specified conversions before rendering
|
||||
private final Map<String, Function<Object, String>> fieldNameToConverterMap;
|
||||
// Optional attribute to track sorting field
|
||||
private final Optional<String> orderingFieldNameOptional;
|
||||
// Option attribute to track sorting field
|
||||
private final Option<String> orderingFieldNameOptional;
|
||||
// Whether sorting has to be in descending order (by default : optional)
|
||||
private final Optional<Boolean> isDescendingOptional;
|
||||
private final Option<Boolean> isDescendingOptional;
|
||||
// Limit the number of entries rendered
|
||||
private final Optional<Integer> limitOptional;
|
||||
private final Option<Integer> limitOptional;
|
||||
// Raw list of rows
|
||||
private final List<List<Comparable>> rawRows;
|
||||
// Flag to determine if all the rows have been added
|
||||
@@ -55,9 +55,9 @@ public class Table implements Iterable<List<String>> {
|
||||
|
||||
public Table(TableHeader rowHeader,
|
||||
Map<String, Function<Object, String>> fieldNameToConverterMap,
|
||||
Optional<String> orderingFieldNameOptional,
|
||||
Optional<Boolean> isDescendingOptional,
|
||||
Optional<Integer> limitOptional) {
|
||||
Option<String> orderingFieldNameOptional,
|
||||
Option<Boolean> isDescendingOptional,
|
||||
Option<Integer> limitOptional) {
|
||||
this.rowHeader = rowHeader;
|
||||
this.fieldNameToConverterMap = fieldNameToConverterMap;
|
||||
this.orderingFieldNameOptional = orderingFieldNameOptional;
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.uber.hoodie.common.table.timeline.HoodieActiveTimeline;
|
||||
import com.uber.hoodie.common.table.timeline.HoodieInstant;
|
||||
import com.uber.hoodie.common.table.timeline.HoodieInstant.State;
|
||||
import com.uber.hoodie.common.util.AvroUtils;
|
||||
import com.uber.hoodie.common.util.Option;
|
||||
import com.uber.hoodie.exception.HoodieIOException;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
@@ -44,7 +45,6 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Function;
|
||||
@@ -475,7 +475,8 @@ public class CompactionCommand implements CommandMarker {
|
||||
private String getRenamesToBePrinted(List<RenameOpResult> res, Integer limit,
|
||||
String sortByField, boolean descending, boolean headerOnly, String operation) {
|
||||
|
||||
Optional<Boolean> result = res.stream().map(r -> r.isExecuted() && r.isSuccess()).reduce(Boolean::logicalAnd);
|
||||
Option<Boolean> result = Option.fromJavaOptional(
|
||||
res.stream().map(r -> r.isExecuted() && r.isSuccess()).reduce(Boolean::logicalAnd));
|
||||
if (result.isPresent()) {
|
||||
System.out.println("There were some file renames that needed to be done to " + operation);
|
||||
|
||||
|
||||
@@ -28,13 +28,13 @@ import com.uber.hoodie.common.table.timeline.HoodieDefaultTimeline;
|
||||
import com.uber.hoodie.common.table.timeline.HoodieInstant;
|
||||
import com.uber.hoodie.common.table.view.HoodieTableFileSystemView;
|
||||
import com.uber.hoodie.common.util.NumericUtils;
|
||||
import com.uber.hoodie.common.util.Option;
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.BiPredicate;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -266,7 +266,7 @@ public class FileSystemViewCommand implements CommandMarker {
|
||||
}
|
||||
|
||||
HoodieTimeline filteredTimeline = new HoodieDefaultTimeline(instantsStream,
|
||||
(Function<HoodieInstant, Optional<byte[]>> & Serializable) metaClient.getActiveTimeline()::getInstantDetails);
|
||||
(Function<HoodieInstant, Option<byte[]>> & Serializable) metaClient.getActiveTimeline()::getInstantDetails);
|
||||
return new HoodieTableFileSystemView(metaClient, filteredTimeline, statuses);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.uber.hoodie.common.table.log.block.HoodieCorruptBlock;
|
||||
import com.uber.hoodie.common.table.log.block.HoodieLogBlock;
|
||||
import com.uber.hoodie.common.table.log.block.HoodieLogBlock.HeaderMetadataType;
|
||||
import com.uber.hoodie.common.table.log.block.HoodieLogBlock.HoodieLogBlockType;
|
||||
import com.uber.hoodie.common.util.Option;
|
||||
import com.uber.hoodie.config.HoodieCompactionConfig;
|
||||
import com.uber.hoodie.config.HoodieMemoryConfig;
|
||||
import com.uber.hoodie.hive.util.SchemaUtil;
|
||||
@@ -42,7 +43,6 @@ import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import org.apache.avro.Schema;
|
||||
import org.apache.avro.generic.IndexedRecord;
|
||||
@@ -200,7 +200,7 @@ public class HoodieLogFileCommand implements CommandMarker {
|
||||
Integer.valueOf(HoodieMemoryConfig.DEFAULT_MAX_DFS_STREAM_BUFFER_SIZE),
|
||||
HoodieMemoryConfig.DEFAULT_SPILLABLE_MAP_BASE_PATH);
|
||||
for (HoodieRecord<? extends HoodieRecordPayload> hoodieRecord : scanner) {
|
||||
Optional<IndexedRecord> record = hoodieRecord.getData().getInsertValue(readerSchema);
|
||||
Option<IndexedRecord> record = hoodieRecord.getData().getInsertValue(readerSchema);
|
||||
if (allRecords.size() >= limit) {
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user