Пример #1
0
  @SuppressWarnings({"unchecked", "rawtypes"})
  static void addStormConfigToTopology(FlinkTopology topology, Map conf)
      throws ClassNotFoundException {
    if (conf != null) {
      ExecutionConfig flinkConfig = topology.getExecutionEnvironment().getConfig();

      flinkConfig.setGlobalJobParameters(new StormConfig(conf));

      // add all registered types to ExecutionConfig
      List<?> registeredClasses = (List<?>) conf.get(Config.TOPOLOGY_KRYO_REGISTER);
      if (registeredClasses != null) {
        for (Object klass : registeredClasses) {
          if (klass instanceof String) {
            flinkConfig.registerKryoType(Class.forName((String) klass));
          } else {
            for (Entry<String, String> register : ((Map<String, String>) klass).entrySet()) {
              flinkConfig.registerTypeWithKryoSerializer(
                  Class.forName(register.getKey()),
                  (Class<? extends Serializer<?>>) Class.forName(register.getValue()));
            }
          }
        }
      }
    }
  }