Class BeamSqlEnv
- java.lang.Object
-
- org.apache.beam.sdk.extensions.sql.impl.BeamSqlEnv
-
@Internal @Experimental public class BeamSqlEnv extends java.lang.ObjectContains the metadata of tables/UDF functions, and exposes APIs to query/validate/optimize/translate SQL statements.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBeamSqlEnv.BeamSqlEnvBuilderBeamSqlEnv's Builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static BeamSqlEnv.BeamSqlEnvBuilderbuilder(TableProvider tableProvider)Creates a builder with the default schema backed by the table provider.voidexecuteDdl(java.lang.String sqlStatement)java.lang.Stringexplain(java.lang.String sqlString)org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.jdbc.CalcitePrepare.ContextgetContext()java.util.Map<java.lang.String,java.lang.String>getPipelineOptions()static BeamSqlEnvinMemory(TableProvider... tableProviders)This method createsBeamSqlEnvusing empty * Pipeline Options.booleanisDdl(java.lang.String sqlStatement)BeamRelNodeparseQuery(java.lang.String query)BeamRelNodeparseQuery(java.lang.String query, QueryPlanner.QueryParameters queryParameters)static BeamSqlEnvreadOnly(java.lang.String tableType, java.util.Map<java.lang.String,BeamSqlTable> tables)This method createsBeamSqlEnvusing empty Pipeline Options.static BeamSqlEnvwithTableProvider(TableProvider tableProvider)This method createsBeamSqlEnvusing empty Pipeline Options.
-
-
-
Method Detail
-
builder
public static BeamSqlEnv.BeamSqlEnvBuilder builder(TableProvider tableProvider)
Creates a builder with the default schema backed by the table provider.
-
readOnly
public static BeamSqlEnv readOnly(java.lang.String tableType, java.util.Map<java.lang.String,BeamSqlTable> tables)
This method createsBeamSqlEnvusing empty Pipeline Options. It should only be used in tests.
-
withTableProvider
public static BeamSqlEnv withTableProvider(TableProvider tableProvider)
This method createsBeamSqlEnvusing empty Pipeline Options. It should only be used in tests.
-
inMemory
public static BeamSqlEnv inMemory(TableProvider... tableProviders)
This method createsBeamSqlEnvusing empty * Pipeline Options. It should only be used in tests.
-
parseQuery
public BeamRelNode parseQuery(java.lang.String query) throws ParseException
- Throws:
ParseException
-
parseQuery
public BeamRelNode parseQuery(java.lang.String query, QueryPlanner.QueryParameters queryParameters) throws ParseException
- Throws:
ParseException
-
isDdl
public boolean isDdl(java.lang.String sqlStatement) throws ParseException- Throws:
ParseException
-
executeDdl
public void executeDdl(java.lang.String sqlStatement) throws ParseException- Throws:
ParseException
-
getContext
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.jdbc.CalcitePrepare.Context getContext()
-
getPipelineOptions
public java.util.Map<java.lang.String,java.lang.String> getPipelineOptions()
-
explain
public java.lang.String explain(java.lang.String sqlString) throws ParseException- Throws:
ParseException
-
-