@Internal
@Experimental
public abstract class PubsubMessageToRow
extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage>,org.apache.beam.sdk.values.PCollectionTuple>
implements java.io.Serializable
PubsubMessage with JSON payload.| Constructor and Description |
|---|
PubsubMessageToRow() |
| Modifier and Type | Method and Description |
|---|---|
static org.apache.beam.sdk.extensions.sql.meta.provider.pubsub.PubsubMessageToRow.Builder |
builder() |
org.apache.beam.sdk.values.PCollectionTuple |
expand(org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage> input) |
abstract org.apache.beam.sdk.schemas.Schema |
messageSchema()
Schema of the Pubsub message.
|
abstract boolean |
useDlq() |
abstract boolean |
useFlatSchema() |
public abstract org.apache.beam.sdk.schemas.Schema messageSchema()
Required to have at least 'event_timestamp' field of type Schema.FieldType#DATETIME.
If useFlatSchema() is set every other field is assumed to be part of the payload.
Otherwise, the schema must contain exactly:
MAP<VARCHAR,VARCHAR>
ROW<...>
Only UTF-8 JSON objects are supported.
public abstract boolean useDlq()
public abstract boolean useFlatSchema()
public static org.apache.beam.sdk.extensions.sql.meta.provider.pubsub.PubsubMessageToRow.Builder builder()
public org.apache.beam.sdk.values.PCollectionTuple expand(org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage> input)
expand in class org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage>,org.apache.beam.sdk.values.PCollectionTuple>