Class EncoderHelpers
- java.lang.Object
-
- org.apache.beam.runners.spark.structuredstreaming.translation.helpers.EncoderHelpers
-
public class EncoderHelpers extends java.lang.ObjectEncodersutility class.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEncoderHelpers.UtilsEncoder / expression utils that are called from generated code.
-
Constructor Summary
Constructors Constructor Description EncoderHelpers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> org.apache.spark.sql.Encoder<java.util.Collection<T>>collectionEncoder(org.apache.spark.sql.Encoder<T> enc)Creates a SparkEncoderofArrayTypefor JavaCollections with nullable elements.static <T> org.apache.spark.sql.Encoder<java.util.Collection<T>>collectionEncoder(org.apache.spark.sql.Encoder<T> enc, boolean nullable)Creates a SparkEncoderofArrayTypefor JavaCollections.static <T> org.apache.spark.sql.catalyst.expressions.ExpressiondeserializeOneOf(org.apache.spark.sql.catalyst.expressions.Expression in, java.util.List<org.apache.spark.sql.Encoder<T>> encoders)static <T> org.apache.spark.sql.Encoder<T>encoderFor(org.apache.beam.sdk.coders.Coder<T> coder)static <T> org.apache.spark.sql.Encoder<T>encoderOf(java.lang.Class<? super T> cls)Gets or creates a defaultEncoderforEncoderHelpers.static <K,V>
org.apache.spark.sql.Encoder<org.apache.beam.sdk.values.KV<K,V>>kvEncoder(org.apache.spark.sql.Encoder<K> key, org.apache.spark.sql.Encoder<V> value)Creates a SparkEncoderforKVofStructTypewith fieldskeyandvalue.static <MapT extends java.util.Map<K,V>,K,V>
org.apache.spark.sql.Encoder<MapT>mapEncoder(org.apache.spark.sql.Encoder<K> key, org.apache.spark.sql.Encoder<V> value, java.lang.Class<MapT> cls)static <T1,T2>
org.apache.spark.sql.Encoder<org.apache.spark.util.MutablePair<T1,T2>>mutablePairEncoder(org.apache.spark.sql.Encoder<T1> enc1, org.apache.spark.sql.Encoder<T2> enc2)Creates a SparkEncoderfor Spark'sMutablePairofStructTypewith fields `_1` and `_2`.static <T> org.apache.spark.sql.Encoder<scala.Tuple2<java.lang.Integer,T>>oneOfEncoder(java.util.List<org.apache.spark.sql.Encoder<T>> encoders)Creates a one-of SparkEncoderofStructTypewhere each alternative is represented as colum / field named by its index with a separateEncodereach.static <T> org.apache.spark.sql.catalyst.expressions.ExpressionserializeOneOf(org.apache.spark.sql.catalyst.expressions.Expression in, java.util.List<org.apache.spark.sql.Encoder<T>> encoders)static <T,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>
org.apache.spark.sql.Encoder<org.apache.beam.sdk.util.WindowedValue<T>>windowedValueEncoder(org.apache.spark.sql.Encoder<T> value, org.apache.spark.sql.Encoder<W> window)Creates a SparkEncoderforEncoderHelpersofStructTypewith fieldsvalue,timestamp,windowsandpane.
-
-
-
Method Detail
-
encoderOf
public static <T> org.apache.spark.sql.Encoder<T> encoderOf(java.lang.Class<? super T> cls)
Gets or creates a defaultEncoderforEncoderHelpers.
-
encoderFor
public static <T> org.apache.spark.sql.Encoder<T> encoderFor(org.apache.beam.sdk.coders.Coder<T> coder)
Creates a SparkEncoderforEncoderHelpersofBinaryTypedelegating to a BeamCoderunderneath.Note: For common types, if available, default Spark
Encoders are used instead.- Parameters:
coder- BeamCoder
-
windowedValueEncoder
public static <T,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow> org.apache.spark.sql.Encoder<org.apache.beam.sdk.util.WindowedValue<T>> windowedValueEncoder(org.apache.spark.sql.Encoder<T> value, org.apache.spark.sql.Encoder<W> window)Creates a SparkEncoderforEncoderHelpersofStructTypewith fieldsvalue,timestamp,windowsandpane.- Parameters:
value-Encoderto encode field `value`.window-Encoderto encode individual windows in field `windows`
-
oneOfEncoder
public static <T> org.apache.spark.sql.Encoder<scala.Tuple2<java.lang.Integer,T>> oneOfEncoder(java.util.List<org.apache.spark.sql.Encoder<T>> encoders)
Creates a one-of SparkEncoderofStructTypewhere each alternative is represented as colum / field named by its index with a separateEncodereach.Externally this is represented as tuple
(index, data)where an index corresponds to anEncoderin the provided list.- Parameters:
encoders-Encoders for each alternative.
-
kvEncoder
public static <K,V> org.apache.spark.sql.Encoder<org.apache.beam.sdk.values.KV<K,V>> kvEncoder(org.apache.spark.sql.Encoder<K> key, org.apache.spark.sql.Encoder<V> value)Creates a SparkEncoderforKVofStructTypewith fieldskeyandvalue.- Parameters:
key-Encoderto encode field `key`.value-Encoderto encode field `value`
-
collectionEncoder
public static <T> org.apache.spark.sql.Encoder<java.util.Collection<T>> collectionEncoder(org.apache.spark.sql.Encoder<T> enc)
Creates a SparkEncoderofArrayTypefor JavaCollections with nullable elements.- Parameters:
enc-Encoderto encode collection elements
-
collectionEncoder
public static <T> org.apache.spark.sql.Encoder<java.util.Collection<T>> collectionEncoder(org.apache.spark.sql.Encoder<T> enc, boolean nullable)Creates a SparkEncoderofArrayTypefor JavaCollections.- Parameters:
enc-Encoderto encode collection elementsnullable- Allow nullable collection elements
-
mapEncoder
public static <MapT extends java.util.Map<K,V>,K,V> org.apache.spark.sql.Encoder<MapT> mapEncoder(org.apache.spark.sql.Encoder<K> key, org.apache.spark.sql.Encoder<V> value, java.lang.Class<MapT> cls)- Parameters:
key-Encoderto encode keysvalue-Encoderto encode valuescls- Specific class to use, supported areHashMapandTreeMap
-
mutablePairEncoder
public static <T1,T2> org.apache.spark.sql.Encoder<org.apache.spark.util.MutablePair<T1,T2>> mutablePairEncoder(org.apache.spark.sql.Encoder<T1> enc1, org.apache.spark.sql.Encoder<T2> enc2)Creates a SparkEncoderfor Spark'sMutablePairofStructTypewith fields `_1` and `_2`.This is intended to be used in places such as aggregators.
- Parameters:
enc1-Encoderto encode `_1`enc2-Encoderto encode `_2`
-
serializeOneOf
public static <T> org.apache.spark.sql.catalyst.expressions.Expression serializeOneOf(org.apache.spark.sql.catalyst.expressions.Expression in, java.util.List<org.apache.spark.sql.Encoder<T>> encoders)
-
deserializeOneOf
public static <T> org.apache.spark.sql.catalyst.expressions.Expression deserializeOneOf(org.apache.spark.sql.catalyst.expressions.Expression in, java.util.List<org.apache.spark.sql.Encoder<T>> encoders)
-
-