Search in sources :

Example 6 with KsqlTopicSerDe

use of io.confluent.ksql.serde.KsqlTopicSerDe in project ksql by confluentinc.

the class JoinNode method buildStream.

@Override
public SchemaKStream buildStream(final StreamsBuilder builder, final KsqlConfig ksqlConfig, final KafkaTopicClient kafkaTopicClient, final FunctionRegistry functionRegistry, final Map<String, Object> props, final SchemaRegistryClient schemaRegistryClient) {
    if (!isLeftJoin()) {
        throw new KsqlException("Join type is not supported yet: " + getType());
    }
    final SchemaKTable table = tableForJoin(builder, ksqlConfig, kafkaTopicClient, functionRegistry, props, schemaRegistryClient);
    final SchemaKStream stream = streamForJoin(getLeft().buildStream(builder, ksqlConfig, kafkaTopicClient, functionRegistry, props, schemaRegistryClient), getLeftKeyFieldName(), kafkaTopicClient);
    final KsqlTopicSerDe joinSerDe = getResultTopicSerde(this);
    return stream.leftJoin(table, getSchema(), getSchema().field(getLeftAlias() + "." + stream.getKeyField().name()), joinSerDe, ksqlConfig);
}
Also used : SchemaKTable(io.confluent.ksql.structured.SchemaKTable) KsqlTopicSerDe(io.confluent.ksql.serde.KsqlTopicSerDe) SchemaKStream(io.confluent.ksql.structured.SchemaKStream) KsqlException(io.confluent.ksql.util.KsqlException)

Aggregations

KsqlTopicSerDe (io.confluent.ksql.serde.KsqlTopicSerDe)6 GenericRow (io.confluent.ksql.GenericRow)4 KsqlJsonTopicSerDe (io.confluent.ksql.serde.json.KsqlJsonTopicSerDe)3 SchemaKStream (io.confluent.ksql.structured.SchemaKStream)3 SchemaKTable (io.confluent.ksql.structured.SchemaKTable)3 KsqlException (io.confluent.ksql.util.KsqlException)3 ArrayList (java.util.ArrayList)3 MockSchemaRegistryClient (io.confluent.kafka.schemaregistry.client.MockSchemaRegistryClient)2 DereferenceExpression (io.confluent.ksql.parser.tree.DereferenceExpression)2 Expression (io.confluent.ksql.parser.tree.Expression)2 QualifiedNameReference (io.confluent.ksql.parser.tree.QualifiedNameReference)2 PlanNode (io.confluent.ksql.planner.plan.PlanNode)2 Pair (io.confluent.ksql.util.Pair)2 Test (org.junit.Test)2 KudafAggregator (io.confluent.ksql.function.udaf.KudafAggregator)1 KudafInitializer (io.confluent.ksql.function.udaf.KudafInitializer)1 KsqlStream (io.confluent.ksql.metastore.KsqlStream)1 KsqlTable (io.confluent.ksql.metastore.KsqlTable)1 KsqlTopic (io.confluent.ksql.metastore.KsqlTopic)1 StructuredDataSource (io.confluent.ksql.metastore.StructuredDataSource)1