Class CarpetParquetWriter.Builder<T>

java.lang.Object
org.apache.parquet.hadoop.ParquetWriter.Builder<T,CarpetParquetWriter.Builder<T>>
com.jerolba.carpet.CarpetParquetWriter.Builder<T>
Enclosing class:
CarpetParquetWriter

public static class CarpetParquetWriter.Builder<T> extends org.apache.parquet.hadoop.ParquetWriter.Builder<T,CarpetParquetWriter.Builder<T>>
  • Method Details

    • withExtraMetaData

      public CarpetParquetWriter.Builder<T> withExtraMetaData(Map<String,String> extraMetaData)
      Adds to writer metadata to include in the generated parquet file.
      Overrides:
      withExtraMetaData in class org.apache.parquet.hadoop.ParquetWriter.Builder<T,CarpetParquetWriter.Builder<T>>
      Parameters:
      extraMetaData - to add
      Returns:
      this builder for method chaining.
    • withExtraMetaData

      public CarpetParquetWriter.Builder<T> withExtraMetaData(String key, String value)
      Adds to writer metadata to include in the generated parquet file.
      Parameters:
      key - of the metadata to add
      value - of the metadata to add
      Returns:
      this builder for method chaining.
    • self

      protected CarpetParquetWriter.Builder<T> self()
      Specified by:
      self in class org.apache.parquet.hadoop.ParquetWriter.Builder<T,CarpetParquetWriter.Builder<T>>
    • withLevelStructure

      public CarpetParquetWriter.Builder<T> withLevelStructure(AnnotatedLevels annotatedLevels)
      Sets the type of collections type that will be generated following the LogicalTypes definition If not configured, 3-level structure is used
      Parameters:
      annotatedLevels - an Enum configuring the number of levels
      Returns:
      this builder for method chaining.
    • withColumnNamingStrategy

      public CarpetParquetWriter.Builder<T> withColumnNamingStrategy(ColumnNamingStrategy columnNamingStrategy)
      Sets the strategy to use generating parquet message and record field names in the schema
      Parameters:
      columnNamingStrategy - an Enum configuring the strategy to use
      Returns:
      this builder for method chaining.
    • withDefaultTimeUnit

      public CarpetParquetWriter.Builder<T> withDefaultTimeUnit(TimeUnit defaultTimeUnit)
      Sets the time unit resolution writing TIME or TIMESTAMP fields:
      • milliseconds
      • microseconds
      • nanoseconds
      Parameters:
      defaultTimeUnit - an Enum configuring the resolution to use
      Returns:
      this builder for method chaining.
    • withDefaultDecimal

      public CarpetParquetWriter.Builder<T> withDefaultDecimal(int precision, int scale)
      Sets Decimal precision and scale
      Parameters:
      precision - of the decimal number
      scale - of the decimal number
      Returns:
      this builder for method chaining.
    • getWriteSupport

      protected org.apache.parquet.hadoop.api.WriteSupport<T> getWriteSupport(org.apache.parquet.conf.ParquetConfiguration conf)
      Overrides:
      getWriteSupport in class org.apache.parquet.hadoop.ParquetWriter.Builder<T,CarpetParquetWriter.Builder<T>>
    • getWriteSupport

      protected org.apache.parquet.hadoop.api.WriteSupport<T> getWriteSupport(org.apache.hadoop.conf.Configuration conf)
      Specified by:
      getWriteSupport in class org.apache.parquet.hadoop.ParquetWriter.Builder<T,CarpetParquetWriter.Builder<T>>
    • getWriteSupport

      protected org.apache.parquet.hadoop.api.WriteSupport<T> getWriteSupport()