@Experimental(value=SCHEMAS) public class Unnest extends java.lang.Object
PTransform to unnest nested rows.
 For example, consider a Row with the following nestedschema:
UserEvent Schema: userid: INT64 timestamp: DATETIME location: LatLong
LatLong Schema: latitude: DOUBLE longitude: DOUBLE
After unnesting, all of the rows will be converted to rows satisfying the following schema:
UserEvent Schema: userid: INT64 timestamp: DATETIME location.latitude: DOUBLE location.longitude: DOUBLE
By default nested names are concatenated to generated the unnested name, however Unnest.Inner.withFieldNameFunction(org.apache.beam.sdk.transforms.SerializableFunction<java.util.List<java.lang.String>, java.lang.String>) can be used to specify a custom naming policy.
 
Note that currently array and map values are not unnested.
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
Unnest.Inner<T>
A  
PTransform that unnests nested row. | 
| Modifier and Type | Field and Description | 
|---|---|
static SerializableFunction<java.util.List<java.lang.String>,java.lang.String> | 
CONCAT_FIELD_NAMES
This is the default naming policy for naming fields. 
 | 
static SerializableFunction<java.util.List<java.lang.String>,java.lang.String> | 
KEEP_NESTED_NAME
This policy keeps the raw nested field name. 
 | 
| Constructor and Description | 
|---|
Unnest()  | 
| Modifier and Type | Method and Description | 
|---|---|
static <T> Unnest.Inner<T> | 
create()  | 
public static final SerializableFunction<java.util.List<java.lang.String>,java.lang.String> CONCAT_FIELD_NAMES
public static final SerializableFunction<java.util.List<java.lang.String>,java.lang.String> KEEP_NESTED_NAME
public static <T> Unnest.Inner<T> create()