Analyzer¶
Analyzer
is used by QueryAnalyzer to analyze KSQL query statements (and produce an Analysis).
Creating Instance¶
Analyzer
takes the following to be created:
- MetaStore
- Topic Prefix
-
rowpartitionRowoffsetEnabled
flag - ksql.query.pull.limit.clause.enabled
Analyzer
is created along with QueryAnalyzer.
Analysing KSQL Query Statement¶
Analysis analyze(
Query query,
Optional<Sink> sink)
analyze
creates an Analyzer.Visitor (with the given Query and whether the Sink is present for the persistent flag).
analyze
requests the Analyzer.Visitor
for the following:
- Process the given
Query
- analyzeNonStdOutSink only if the Sink is defined
- Validate
In the end, analyze
requests the Analyzer.Visitor
for the Analysis.
analyze
is used when:
QueryAnalyzer
is requested to analyze a Query statement