alexeykudinkin commented on a change in pull request #5181:
URL: https://github.com/apache/hudi/pull/5181#discussion_r840745890
##########
File path:
hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java
##########
@@ -1105,72 +1174,37 @@ public static int getPartitionFileGroupCount(final
MetadataPartitionType partiti
}
/**
- * Accumulates column range metadata for the given field and updates the
column range map.
- *
- * @param field - column for which statistics will be computed
- * @param filePath - data file path
- * @param columnRangeMap - old column range statistics, which will be merged
in this computation
- * @param columnToStats - map of column to map of each stat and its value
- */
- public static void accumulateColumnRanges(Schema.Field field, String
filePath,
- Map<String,
HoodieColumnRangeMetadata<Comparable>> columnRangeMap,
- Map<String, Map<String, Object>>
columnToStats) {
- Map<String, Object> columnStats = columnToStats.get(field.name());
- HoodieColumnRangeMetadata<Comparable> columnRangeMetadata =
HoodieColumnRangeMetadata.create(
- filePath,
- field.name(),
- (Comparable) String.valueOf(columnStats.get(MIN)),
- (Comparable) String.valueOf(columnStats.get(MAX)),
- Long.parseLong(columnStats.getOrDefault(NULL_COUNT, 0).toString()),
- Long.parseLong(columnStats.getOrDefault(VALUE_COUNT, 0).toString()),
- Long.parseLong(columnStats.getOrDefault(TOTAL_SIZE, 0).toString()),
- Long.parseLong(columnStats.getOrDefault(TOTAL_UNCOMPRESSED_SIZE,
0).toString())
- );
- columnRangeMap.merge(field.name(), columnRangeMetadata,
COLUMN_RANGE_MERGE_FUNCTION);
- }
-
- /**
- * Aggregates column stats for each field.
- *
- * @param record - current record
- * @param fields - fields for which stats will be
aggregated
- * @param columnToStats - map of column to map of each
stat and its value which gets updates in this method
- * @param consistentLogicalTimestampEnabled - flag to deal with logical
timestamp type when getting column value
+ * Does an upcast for {@link BigDecimal} instance to align it with
scale/precision expected by
+ * the {@link org.apache.avro.LogicalTypes.Decimal} Avro logical type
*/
- public static void aggregateColumnStats(IndexedRecord record,
List<Schema.Field> fields,
- Map<String, Map<String, Object>>
columnToStats,
- boolean
consistentLogicalTimestampEnabled) {
- if (!(record instanceof GenericRecord)) {
- throw new HoodieIOException("Record is not a generic type to get column
range metadata!");
+ public static BigDecimal tryUpcastDecimal(BigDecimal value, final
LogicalTypes.Decimal decimal) {
Review comment:
Fair enough
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]