Search in sources :

Example 1 with Catalog

use of com.flink.platform.common.job.Catalog in project flink-platform-backend by itinycheng.

the class JsonUtilTest method string.

@Test
public void string() {
    Map<String, String> map = new HashMap<>();
    map.put("a", "true");
    map.put("b", null);
    Catalog catalog = new Catalog();
    catalog.setConfigs(map);
    String str = JsonUtil.toJsonString(catalog);
    System.out.println(str);
}
Also used : HashMap(java.util.HashMap) Catalog(com.flink.platform.common.job.Catalog) Test(org.junit.Test)

Example 2 with Catalog

use of com.flink.platform.common.job.Catalog in project flink-platform-backend by itinycheng.

the class Sql112Application method main.

public static void main(String[] args) throws Exception {
    // deSer sql context
    Path sqlContextPath = Paths.get(args[0]);
    SqlContext sqlContext = JsonUtil.toBean(sqlContextPath, SqlContext.class);
    // step 1: create and configure environment
    TableEnvironment tEnv = ExecutionEnvs.createExecutionEnv(sqlContext.getExecMode());
    Map<String, String> configMap = ConfigLoader.loadDefault(sqlContext.getExecMode());
    configMap.putAll(sqlContext.getConfigs());
    configMap.putAll(sqlContext.getSqls().stream().filter(sql -> SqlType.SET.equals(sql.getType())).map(Sql::getOperands).collect(toMap(operands -> operands[0], operands -> operands[1])));
    configMap.forEach((key, value) -> Configurations.setConfig(tEnv, key, value));
    // step 2: add catalog
    List<Catalog> catalogs = sqlContext.getCatalogs();
    Catalogs.registerCatalogsToTableEnv(tEnv, catalogs);
    // step 3: create temporary system function
    List<Function> functions = sqlContext.getFunctions();
    Functions.registerFunctionsToTableEnv(tEnv, functions);
    // step 4: exec sql
    List<Sql> executableSqls = sqlContext.getSqls().stream().filter(sql -> !SqlType.SET.equals(sql.getType())).collect(toList());
    ExecuteSqls.execSqls(tEnv, executableSqls);
}
Also used : Path(java.nio.file.Path) Functions(com.flink.platform.core.helper.Functions) TableEnvironment(org.apache.flink.table.api.TableEnvironment) Configurations(com.flink.platform.core.helper.Configurations) Sql(com.flink.platform.common.job.Sql) JsonUtil(com.flink.platform.common.util.JsonUtil) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) ConfigLoader(com.flink.platform.core.common.ConfigLoader) Collectors.toMap(java.util.stream.Collectors.toMap) Catalog(com.flink.platform.common.job.Catalog) Catalogs(com.flink.platform.core.helper.Catalogs) Paths(java.nio.file.Paths) Map(java.util.Map) Function(com.flink.platform.common.job.Function) SqlContext(com.flink.platform.common.job.SqlContext) ExecuteSqls(com.flink.platform.core.helper.ExecuteSqls) SqlType(com.flink.platform.common.enums.SqlType) ExecutionEnvs(com.flink.platform.core.helper.ExecutionEnvs) Path(java.nio.file.Path) Function(com.flink.platform.common.job.Function) SqlContext(com.flink.platform.common.job.SqlContext) TableEnvironment(org.apache.flink.table.api.TableEnvironment) Catalog(com.flink.platform.common.job.Catalog) Sql(com.flink.platform.common.job.Sql)

Aggregations

Catalog (com.flink.platform.common.job.Catalog)2 SqlType (com.flink.platform.common.enums.SqlType)1 Function (com.flink.platform.common.job.Function)1 Sql (com.flink.platform.common.job.Sql)1 SqlContext (com.flink.platform.common.job.SqlContext)1 JsonUtil (com.flink.platform.common.util.JsonUtil)1 ConfigLoader (com.flink.platform.core.common.ConfigLoader)1 Catalogs (com.flink.platform.core.helper.Catalogs)1 Configurations (com.flink.platform.core.helper.Configurations)1 ExecuteSqls (com.flink.platform.core.helper.ExecuteSqls)1 ExecutionEnvs (com.flink.platform.core.helper.ExecutionEnvs)1 Functions (com.flink.platform.core.helper.Functions)1 Path (java.nio.file.Path)1 Paths (java.nio.file.Paths)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Collectors.toList (java.util.stream.Collectors.toList)1 Collectors.toMap (java.util.stream.Collectors.toMap)1 TableEnvironment (org.apache.flink.table.api.TableEnvironment)1