type: Provides the type of the statement that is being described
info: A key-value list of objects used within the statement and specific information about them:
ddl/sink: A new Relation that the statement will create to write to, or an existing Relation that the statement will write new records to, respectively.
Provides fqn, type, db_name, schema_name, name, and store_name. A fqn is in the format of org.db.schema.relation.
Sources: List of Relations the statement uses for reading records.
Provides fqn, type, db_name, schema_name, name, and store_name.
Examples
Describe a Stream DDL statement
This example shows that describing a CREATE STREAM statement returns a ddl field for the pageviews Stream that would be created if the statement was executed:
This example shows that pageviewsclChangelog is filtered and writes its result into pageviewscl_6 Changelog:
demodb.public/demostore# DESCRIBE CREATE CHANGELOG PAGEVIEWSCL_6 AS SELECT userid, pageid FROM PAGEVIEWSCL WHERE userid = 'User_6';
+---------------------+------------------------------------------+|Type|Info|+=====================+==========================================+|CREATE_CHANGELOG_AS| {"ddl":{"fqn":"d39511ce-c918-4637-9524-1|||63183452274.demodb.public.pageviewscl_6" || | ,"type":"CHANGELOG","db_name":"demodb","|||schema_name":"public","name":"pageviewsc|||l_6","store_name":"demostore"},"sources" || | :[{"fqn":"d39511ce-c918-4637-9524-163183|||452274.demodb.public.pageviewscl","type" || | :"CHANGELOG","db_name":"demodb","schema_|||name":"public","name":"pageviewscl","sto|||re_name":"demostore"}]} |+---------------------+------------------------------------------+
Describe a CSAS JOIN statement
This example shows that the described statement joins the pageviewsStream and users1Changelog Changelog before filtering and writing its results into the temporaljoin Stream:
demodb.public/demostore# DESCRIBE CREATE STREAM temporaljoin AS SELECT p.userid AS pvuid, u.userid, u.gender, p.pageid, u.interests[1] AS top_interest FROM pageviews p JOIN "users1Changelog" u ON u.userid = p.userid WHERE p.userid != 'User_5';
+------------------+------------------------------------------+|Type|Info|+==================+==========================================+|CREATE_STREAM_AS| {"ddl":{"fqn":"d39511ce-c918-4637-9524-1|||63183452274.demodb.public.temporaljoin", || | "type":"STREAM","db_name":"demodb","sche|||ma_name":"public","name":"temporaljoin", || | "store_name":"demostore"},"sources":[{"f|||qn":"d39511ce-c918-4637-9524-16318345227|||4.demodb.public.pageviews","type":"STREA|||M","db_name":"demodb","schema_name":"pub|||lic","name":"pageviews","store_name":"de|||mostore"},{"fqn":"d39511ce-c918-4637-952|||4-163183452274.demodb.public.users1Chang|||elog","type":"CHANGELOG","db_name":"demo|||db","schema_name":"public","name":"users|||1Changelog","store_name":"demostore"}]} |+------------------+------------------------------------------+
Describe an INSERT INTO statement
The following example shows that the statement fileters the pageviews Stream, and writes its results into the existing Relation called pageviews_6 of type Stream: