Java Code Examples for org.apache.flink.api.java.utils.ParameterTool#fromMap()
The following examples show how to use
org.apache.flink.api.java.utils.ParameterTool#fromMap() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BenchmarkConfig.java From yahoo-streaming-benchmark with Apache License 2.0 | 6 votes |
private static ParameterTool yamlToParameters(String yamlFile) throws FileNotFoundException { // load yaml file Yaml yml = new Yaml(new SafeConstructor()); Map<String, String> ymlMap = (Map) yml.load(new FileInputStream(yamlFile)); String kafkaZookeeperConnect = getZookeeperServers(ymlMap, String.valueOf(ymlMap.get("kafka.zookeeper.path"))); String akkaZookeeperQuorum = getZookeeperServers(ymlMap, ""); // We need to add these values as "parameters" // -- This is a bit of a hack but the Kafka consumers and producers // expect these values to be there ymlMap.put("zookeeper.connect", kafkaZookeeperConnect); // set ZK connect for Kafka ymlMap.put("bootstrap.servers", getKafkaBrokers(ymlMap)); ymlMap.put("akka.zookeeper.quorum", akkaZookeeperQuorum); ymlMap.put("auto.offset.reset", "latest"); ymlMap.put("group.id", UUID.randomUUID().toString()); // Convert everything to strings for (Map.Entry e : ymlMap.entrySet()) { { e.setValue(e.getValue().toString()); } } return ParameterTool.fromMap(ymlMap); }
Example 2
Source File: PravegaConfigTest.java From flink-connectors with Apache License 2.0 | 6 votes |
@Test public void testGetClientConfig() { // default controller URI PravegaConfig config = new PravegaConfig(new Properties(), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())); ClientConfig clientConfig = config.getClientConfig(); assertEquals(URI.create("tcp://localhost:9090"), clientConfig.getControllerURI()); assertTrue(clientConfig.isValidateHostName()); // explicitly-configured controller URI config = new PravegaConfig(new Properties(), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())) .withControllerURI(URI.create("tcp://localhost:9090")) .withCredentials(TEST_CREDENTIALS) .withHostnameValidation(false); clientConfig = config.getClientConfig(); assertEquals(URI.create("tcp://localhost:9090"), clientConfig.getControllerURI()); assertEquals(TEST_CREDENTIALS, clientConfig.getCredentials()); assertFalse(clientConfig.isValidateHostName()); }
Example 3
Source File: PravegaConfigTest.java From flink-connectors with Apache License 2.0 | 6 votes |
/** * Tests {@code resolve()} which performs stream name resolution. */ @Test public void testStreamResolve() { // test parsing logic PravegaConfig config = new PravegaConfig(properties(PravegaConfig.SCOPE_PARAM, "scope1"), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())); assertEquals("scope1", config.getDefaultScope()); Stream expectedStream = Stream.of("scope1/stream1"); assertEquals(expectedStream, config.resolve("stream1")); assertEquals(expectedStream, config.resolve("scope1/stream1")); assertNotEquals(expectedStream, config.resolve("scope2/stream1")); // test that no default scope is needed when using qualified stream names config = new PravegaConfig(new Properties(), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())); assertNull(config.getDefaultScope()); assertEquals(expectedStream, config.resolve("scope1/stream1")); // test an application-level default scope config = new PravegaConfig(new Properties(), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())) .withDefaultScope(expectedStream.getScope()); assertEquals(expectedStream, config.resolve("stream1")); }
Example 4
Source File: HadoopUtils.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Returns {@link ParameterTool} for the arguments parsed by {@link GenericOptionsParser}. * * @param args Input array arguments. It should be parsable by {@link GenericOptionsParser} * @return A {@link ParameterTool} * @throws IOException If arguments cannot be parsed by {@link GenericOptionsParser} * @see GenericOptionsParser */ public static ParameterTool paramsFromGenericOptionsParser(String[] args) throws IOException { Option[] options = new GenericOptionsParser(args).getCommandLine().getOptions(); Map<String, String> map = new HashMap<String, String>(); for (Option option : options) { String[] split = option.getValue().split("="); map.put(split[0], split[1]); } return ParameterTool.fromMap(map); }
Example 5
Source File: HadoopUtils.java From flink with Apache License 2.0 | 5 votes |
/** * Returns {@link ParameterTool} for the arguments parsed by {@link GenericOptionsParser}. * * @param args Input array arguments. It should be parsable by {@link GenericOptionsParser} * @return A {@link ParameterTool} * @throws IOException If arguments cannot be parsed by {@link GenericOptionsParser} * @see GenericOptionsParser */ public static ParameterTool paramsFromGenericOptionsParser(String[] args) throws IOException { Option[] options = new GenericOptionsParser(args).getCommandLine().getOptions(); Map<String, String> map = new HashMap<String, String>(); for (Option option : options) { String[] split = option.getValue().split("="); map.put(split[0], split[1]); } return ParameterTool.fromMap(map); }
Example 6
Source File: HadoopUtils.java From flink with Apache License 2.0 | 5 votes |
/** * Returns {@link ParameterTool} for the arguments parsed by {@link GenericOptionsParser}. * * @param args Input array arguments. It should be parsable by {@link GenericOptionsParser} * @return A {@link ParameterTool} * @throws IOException If arguments cannot be parsed by {@link GenericOptionsParser} * @see GenericOptionsParser */ public static ParameterTool paramsFromGenericOptionsParser(String[] args) throws IOException { Option[] options = new GenericOptionsParser(args).getCommandLine().getOptions(); Map<String, String> map = new HashMap<String, String>(); for (Option option : options) { String[] split = option.getValue().split("="); map.put(split[0], split[1]); } return ParameterTool.fromMap(map); }
Example 7
Source File: WriteIntoKafka.java From flinkDemo with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws Exception { // create execution environment StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); Map properties= new HashMap(); properties.put("bootstrap.servers", "192.168.10.63:6667,192.168.10.64:6667,192.168.10.65:6667"); properties.put("group.id", "t10"); properties.put("enable.auto.commit", "false"); properties.put("auto.commit.interval.ms", "1000"); properties.put("auto.offset.reset", "earliest"); properties.put("session.timeout.ms", "30000"); properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); properties.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); properties.put("topic", "kks-topic-FFT"); //KafkaConsumer<String,String> kafkaConsumer = new KafkaConsumer<String, String>(properties); // parse user parameters //ParameterTool parameterTool = ParameterTool.fromArgs(args); ParameterTool parameterTool = ParameterTool.fromMap(properties); // add a simple source which is writing some strings DataStream<String> messageStream = env.addSource(new SimpleStringGenerator()); // write stream to Kafka messageStream.addSink(new FlinkKafkaProducer010<>(parameterTool.getRequired("bootstrap.servers"), parameterTool.getRequired("topic"), new SimpleStringSchema())); messageStream.rebalance().map(new MapFunction<String, String>() { private static final long serialVersionUID = 1L; @Override public String map(String value) throws Exception { return value; } }); messageStream.print(); env.execute(); }
Example 8
Source File: FlinkPravegaReaderTest.java From flink-connectors with Apache License 2.0 | 5 votes |
@Test public void testRgScope() { PravegaConfig config = new PravegaConfig(new Properties(), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())); // no scope TestableStreamingReaderBuilder builder = new TestableStreamingReaderBuilder() .forStream(SAMPLE_STREAM, SAMPLE_CUT) .withPravegaConfig(config); FlinkPravegaReader<Integer> reader; try { builder.buildSourceFunction(); fail(); } catch (IllegalStateException e) { // "missing reader group scope" } // default scope config.withDefaultScope(SAMPLE_SCOPE); reader = builder.buildSourceFunction(); assertEquals(SAMPLE_SCOPE, reader.readerGroupScope); // explicit scope builder.withReaderGroupScope("myscope"); reader = builder.buildSourceFunction(); assertEquals("myscope", reader.readerGroupScope); }
Example 9
Source File: ElasticsearchSinkBase.java From flink with Apache License 2.0 | 4 votes |
public ElasticsearchSinkBase( ElasticsearchApiCallBridge<C> callBridge, Map<String, String> userConfig, ElasticsearchSinkFunction<T> elasticsearchSinkFunction, ActionRequestFailureHandler failureHandler) { this.callBridge = checkNotNull(callBridge); this.elasticsearchSinkFunction = checkNotNull(elasticsearchSinkFunction); this.failureHandler = checkNotNull(failureHandler); // we eagerly check if the user-provided sink function and failure handler is serializable; // otherwise, if they aren't serializable, users will merely get a non-informative error message // "ElasticsearchSinkBase is not serializable" checkArgument(InstantiationUtil.isSerializable(elasticsearchSinkFunction), "The implementation of the provided ElasticsearchSinkFunction is not serializable. " + "The object probably contains or references non-serializable fields."); checkArgument(InstantiationUtil.isSerializable(failureHandler), "The implementation of the provided ActionRequestFailureHandler is not serializable. " + "The object probably contains or references non-serializable fields."); // extract and remove bulk processor related configuration from the user-provided config, // so that the resulting user config only contains configuration related to the Elasticsearch client. checkNotNull(userConfig); // copy config so we can remove entries without side-effects userConfig = new HashMap<>(userConfig); ParameterTool params = ParameterTool.fromMap(userConfig); if (params.has(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS)) { bulkProcessorFlushMaxActions = params.getInt(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS); userConfig.remove(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS); } else { bulkProcessorFlushMaxActions = null; } if (params.has(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB)) { bulkProcessorFlushMaxSizeMb = params.getInt(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB); userConfig.remove(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB); } else { bulkProcessorFlushMaxSizeMb = null; } if (params.has(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS)) { bulkProcessorFlushIntervalMillis = params.getLong(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS); userConfig.remove(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS); } else { bulkProcessorFlushIntervalMillis = null; } boolean bulkProcessorFlushBackoffEnable = params.getBoolean(CONFIG_KEY_BULK_FLUSH_BACKOFF_ENABLE, true); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_ENABLE); if (bulkProcessorFlushBackoffEnable) { this.bulkProcessorFlushBackoffPolicy = new BulkFlushBackoffPolicy(); if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE)) { bulkProcessorFlushBackoffPolicy.setBackoffType(FlushBackoffType.valueOf(params.get(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE))); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE); } if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES)) { bulkProcessorFlushBackoffPolicy.setMaxRetryCount(params.getInt(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES)); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES); } if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY)) { bulkProcessorFlushBackoffPolicy.setDelayMillis(params.getLong(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY)); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY); } } else { bulkProcessorFlushBackoffPolicy = null; } this.userConfig = userConfig; }
Example 10
Source File: AdvertisingTopologyNative.java From streaming-benchmarks with Apache License 2.0 | 4 votes |
public static void main(final String[] args) throws Exception { ParameterTool parameterTool = ParameterTool.fromArgs(args); Map conf = Utils.findAndReadConfigFile(parameterTool.getRequired("confPath"), true); int kafkaPartitions = ((Number)conf.get("kafka.partitions")).intValue(); int hosts = ((Number)conf.get("process.hosts")).intValue(); int cores = ((Number)conf.get("process.cores")).intValue(); ParameterTool flinkBenchmarkParams = ParameterTool.fromMap(getFlinkConfs(conf)); LOG.info("conf: {}", conf); LOG.info("Parameters used: {}", flinkBenchmarkParams.toMap()); StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setGlobalJobParameters(flinkBenchmarkParams); // Set the buffer timeout (default 100) // Lowering the timeout will lead to lower latencies, but will eventually reduce throughput. env.setBufferTimeout(flinkBenchmarkParams.getLong("flink.buffer-timeout", 100)); if(flinkBenchmarkParams.has("flink.checkpoint-interval")) { // enable checkpointing for fault tolerance env.enableCheckpointing(flinkBenchmarkParams.getLong("flink.checkpoint-interval", 1000)); } // set default parallelism for all operators (recommended value: number of available worker CPU cores in the cluster (hosts * cores)) env.setParallelism(hosts * cores); DataStream<String> messageStream = env .addSource(new FlinkKafkaConsumer082<String>( flinkBenchmarkParams.getRequired("topic"), new SimpleStringSchema(), flinkBenchmarkParams.getProperties())).setParallelism(Math.min(hosts * cores, kafkaPartitions)); messageStream .rebalance() // Parse the String as JSON .flatMap(new DeserializeBolt()) //Filter the records if event type is "view" .filter(new EventFilterBolt()) // project the event .<Tuple2<String, String>>project(2, 5) // perform join with redis data .flatMap(new RedisJoinBolt()) // process campaign .keyBy(0) .flatMap(new CampaignProcessor()); env.execute(); }
Example 11
Source File: PravegaConfigTest.java From flink-connectors with Apache License 2.0 | 4 votes |
private static ParameterTool parameters(PravegaConfig.PravegaParameter parameter, String value) { return ParameterTool.fromMap(Collections.singletonMap(parameter.getParameterName(), value)); }
Example 12
Source File: PravegaConfigTest.java From flink-connectors with Apache License 2.0 | 4 votes |
@Test(expected = IllegalStateException.class) public void testStreamResolveWithoutDefaultScope() { PravegaConfig config = new PravegaConfig(new Properties(), Collections.emptyMap(), ParameterTool.fromMap(Collections.emptyMap())); config.resolve("stream1"); }
Example 13
Source File: PravegaConfig.java From flink-connectors with Apache License 2.0 | 4 votes |
/** * Gets a configuration based on defaults obtained from the local environment. */ public static PravegaConfig fromDefaults() { return new PravegaConfig(System.getProperties(), System.getenv(), ParameterTool.fromMap(Collections.emptyMap())); }
Example 14
Source File: ReadFromKafka.java From flinkDemo with Apache License 2.0 | 4 votes |
public static void main(String[] args) throws Exception { // create execution environment StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); Map properties= new HashMap(); properties.put("bootstrap.servers", "192.168.10.63:6667,192.168.10.64:6667,192.168.10.65:6667"); properties.put("group.id", "dec-esc-group-vib-calc"); properties.put("enable.auto.commit", "true"); properties.put("auto.commit.interval.ms", "1000"); properties.put("auto.offset.reset", "earliest"); properties.put("session.timeout.ms", "30000"); properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); properties.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); properties.put("topic", "dec-vibration-test"); //KafkaConsumer<String,String> kafkaConsumer = new KafkaConsumer<String, String>(properties); // parse user parameters //ParameterTool parameterTool = ParameterTool.fromArgs(args); ParameterTool parameterTool = ParameterTool.fromMap(properties); FlinkKafkaConsumer010 consumer010 = new FlinkKafkaConsumer010( parameterTool.getRequired("topic"), new SimpleStringSchema(), parameterTool.getProperties()); // consumer010.setStartFromEarliest(); DataStream<String> messageStream = env .addSource(consumer010); // print() will write the contents of the stream to the TaskManager's standard out stream // the rebelance call is causing a repartitioning of the data so that all machines // see the messages (for example in cases when "num kafka partitions" < "num flink operators" messageStream.rebalance().map(new MapFunction<String, String>() { private static final long serialVersionUID = 1L; @Override public String map(String value) throws Exception { return value; } }); messageStream.print(); env.execute(); }
Example 15
Source File: ElasticsearchSinkBase.java From flink with Apache License 2.0 | 4 votes |
public ElasticsearchSinkBase( ElasticsearchApiCallBridge<C> callBridge, Map<String, String> userConfig, ElasticsearchSinkFunction<T> elasticsearchSinkFunction, ActionRequestFailureHandler failureHandler) { this.callBridge = checkNotNull(callBridge); this.elasticsearchSinkFunction = checkNotNull(elasticsearchSinkFunction); this.failureHandler = checkNotNull(failureHandler); // we eagerly check if the user-provided sink function and failure handler is serializable; // otherwise, if they aren't serializable, users will merely get a non-informative error message // "ElasticsearchSinkBase is not serializable" checkArgument(InstantiationUtil.isSerializable(elasticsearchSinkFunction), "The implementation of the provided ElasticsearchSinkFunction is not serializable. " + "The object probably contains or references non-serializable fields."); checkArgument(InstantiationUtil.isSerializable(failureHandler), "The implementation of the provided ActionRequestFailureHandler is not serializable. " + "The object probably contains or references non-serializable fields."); // extract and remove bulk processor related configuration from the user-provided config, // so that the resulting user config only contains configuration related to the Elasticsearch client. checkNotNull(userConfig); // copy config so we can remove entries without side-effects userConfig = new HashMap<>(userConfig); ParameterTool params = ParameterTool.fromMap(userConfig); if (params.has(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS)) { bulkProcessorFlushMaxActions = params.getInt(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS); userConfig.remove(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS); } else { bulkProcessorFlushMaxActions = null; } if (params.has(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB)) { bulkProcessorFlushMaxSizeMb = params.getInt(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB); userConfig.remove(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB); } else { bulkProcessorFlushMaxSizeMb = null; } if (params.has(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS)) { bulkProcessorFlushIntervalMillis = params.getLong(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS); userConfig.remove(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS); } else { bulkProcessorFlushIntervalMillis = null; } boolean bulkProcessorFlushBackoffEnable = params.getBoolean(CONFIG_KEY_BULK_FLUSH_BACKOFF_ENABLE, true); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_ENABLE); if (bulkProcessorFlushBackoffEnable) { this.bulkProcessorFlushBackoffPolicy = new BulkFlushBackoffPolicy(); if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE)) { bulkProcessorFlushBackoffPolicy.setBackoffType(FlushBackoffType.valueOf(params.get(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE))); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE); } if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES)) { bulkProcessorFlushBackoffPolicy.setMaxRetryCount(params.getInt(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES)); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES); } if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY)) { bulkProcessorFlushBackoffPolicy.setDelayMillis(params.getLong(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY)); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY); } } else { bulkProcessorFlushBackoffPolicy = null; } this.userConfig = userConfig; }
Example 16
Source File: ElasticsearchSinkBase.java From Flink-CEPplus with Apache License 2.0 | 4 votes |
public ElasticsearchSinkBase( ElasticsearchApiCallBridge<C> callBridge, Map<String, String> userConfig, ElasticsearchSinkFunction<T> elasticsearchSinkFunction, ActionRequestFailureHandler failureHandler) { this.callBridge = checkNotNull(callBridge); this.elasticsearchSinkFunction = checkNotNull(elasticsearchSinkFunction); this.failureHandler = checkNotNull(failureHandler); // we eagerly check if the user-provided sink function and failure handler is serializable; // otherwise, if they aren't serializable, users will merely get a non-informative error message // "ElasticsearchSinkBase is not serializable" checkArgument(InstantiationUtil.isSerializable(elasticsearchSinkFunction), "The implementation of the provided ElasticsearchSinkFunction is not serializable. " + "The object probably contains or references non-serializable fields."); checkArgument(InstantiationUtil.isSerializable(failureHandler), "The implementation of the provided ActionRequestFailureHandler is not serializable. " + "The object probably contains or references non-serializable fields."); // extract and remove bulk processor related configuration from the user-provided config, // so that the resulting user config only contains configuration related to the Elasticsearch client. checkNotNull(userConfig); // copy config so we can remove entries without side-effects userConfig = new HashMap<>(userConfig); ParameterTool params = ParameterTool.fromMap(userConfig); if (params.has(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS)) { bulkProcessorFlushMaxActions = params.getInt(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS); userConfig.remove(CONFIG_KEY_BULK_FLUSH_MAX_ACTIONS); } else { bulkProcessorFlushMaxActions = null; } if (params.has(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB)) { bulkProcessorFlushMaxSizeMb = params.getInt(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB); userConfig.remove(CONFIG_KEY_BULK_FLUSH_MAX_SIZE_MB); } else { bulkProcessorFlushMaxSizeMb = null; } if (params.has(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS)) { bulkProcessorFlushIntervalMillis = params.getLong(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS); userConfig.remove(CONFIG_KEY_BULK_FLUSH_INTERVAL_MS); } else { bulkProcessorFlushIntervalMillis = null; } boolean bulkProcessorFlushBackoffEnable = params.getBoolean(CONFIG_KEY_BULK_FLUSH_BACKOFF_ENABLE, true); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_ENABLE); if (bulkProcessorFlushBackoffEnable) { this.bulkProcessorFlushBackoffPolicy = new BulkFlushBackoffPolicy(); if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE)) { bulkProcessorFlushBackoffPolicy.setBackoffType(FlushBackoffType.valueOf(params.get(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE))); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_TYPE); } if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES)) { bulkProcessorFlushBackoffPolicy.setMaxRetryCount(params.getInt(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES)); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_RETRIES); } if (params.has(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY)) { bulkProcessorFlushBackoffPolicy.setDelayMillis(params.getLong(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY)); userConfig.remove(CONFIG_KEY_BULK_FLUSH_BACKOFF_DELAY); } } else { bulkProcessorFlushBackoffPolicy = null; } this.userConfig = userConfig; }
Example 17
Source File: ParameterToolUtils.java From amazon-kinesis-analytics-taxi-consumer with Apache License 2.0 | 3 votes |
public static ParameterTool fromApplicationProperties(Properties properties) { Map<String, String> map = new HashMap<>(properties.size()); properties.forEach((k, v) -> map.put((String) k, (String) v)); return ParameterTool.fromMap(map); }
Example 18
Source File: BenchmarkJob.java From scotty-window-processor with Apache License 2.0 | 2 votes |
public BenchmarkJob(List<Window> assigner, StreamExecutionEnvironment env, final long runtime, final int throughput, final List<Tuple2<Long, Long>> gaps) { Map<String, String> configMap = new HashMap<>(); ParameterTool parameters = ParameterTool.fromMap(configMap); env.getConfig().setGlobalJobParameters(parameters); env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime); env.setParallelism(1); env.setMaxParallelism(1); KeyedScottyWindowOperator<Tuple, Tuple4<String, Integer, Long, Long>, Tuple4<String, Integer, Long, Long>> windowOperator = new KeyedScottyWindowOperator<>(new SumAggregation()); for(Window w: assigner){ windowOperator.addWindow(w); } DataStream<Tuple4<String, Integer, Long, Long>> messageStream = env .addSource(new de.tub.dima.scotty.flinkBenchmark.LoadGeneratorSource(runtime, throughput, gaps)); messageStream.flatMap(new de.tub.dima.scotty.flinkBenchmark.ThroughputLogger<>(200, throughput)); final SingleOutputStreamOperator<Tuple4<String, Integer, Long, Long>> timestampsAndWatermarks = messageStream .assignTimestampsAndWatermarks(new TimestampsAndWatermarks()); timestampsAndWatermarks .keyBy(0) .process(windowOperator) .addSink(new SinkFunction() { @Override public void invoke(final Object value) throws Exception { //System.out.println(value); } }); try { env.execute(); } catch (Exception e) { e.printStackTrace(); } }