本文整理匯總了Java中org.apache.flink.streaming.api.environment.StreamExecutionEnvironment類的典型用法代碼示例。如果您正苦於以下問題:Java StreamExecutionEnvironment類的具體用法?Java StreamExecutionEnvironment怎麽用?Java StreamExecutionEnvironment使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
StreamExecutionEnvironment類屬於org.apache.flink.streaming.api.environment包,在下文中一共展示了StreamExecutionEnvironment類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: testSimpleWriteAndRead
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
@Test
public void testSimpleWriteAndRead() throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<Event> input = env.fromElements(
Event.of(1, "start", 1.0),
Event.of(2, "middle", 2.0),
Event.of(3, "end", 3.0),
Event.of(4, "start", 4.0),
Event.of(5, "middle", 5.0),
Event.of(6, "end", 6.0)
);
String path = tempFolder.newFile().toURI().toString();
input.transform("transformer", TypeInformation.of(Event.class), new StreamMap<>(new MapFunction<Event, Event>() {
@Override
public Event map(Event event) throws Exception {
return event;
}
})).writeAsText(path);
env.execute();
Assert.assertEquals(6, getLineCount(path));
}
示例2: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
Properties properties = new Properties();
properties.load(new FileInputStream("src/main/resources/application.properties"));
Properties mqttProperties = new Properties();
// client id = a:<Organization_ID>:<App_Id>
mqttProperties.setProperty(MQTTSource.CLIENT_ID,
String.format("a:%s:%s",
properties.getProperty("Org_ID"),
properties.getProperty("App_Id")));
// mqtt server url = tcp://<Org_ID>.messaging.internetofthings.ibmcloud.com:1883
mqttProperties.setProperty(MQTTSource.URL,
String.format("tcp://%s.messaging.internetofthings.ibmcloud.com:1883",
properties.getProperty("Org_ID")));
// topic = iot-2/type/<Device_Type>/id/<Device_ID>/evt/<Event_Id>/fmt/json
mqttProperties.setProperty(MQTTSource.TOPIC,
String.format("iot-2/type/%s/id/%s/evt/%s/fmt/json",
properties.getProperty("Device_Type"),
properties.getProperty("Device_ID"),
properties.getProperty("EVENT_ID")));
mqttProperties.setProperty(MQTTSource.USERNAME, properties.getProperty("API_Key"));
mqttProperties.setProperty(MQTTSource.PASSWORD, properties.getProperty("APP_Authentication_Token"));
MQTTSource mqttSource = new MQTTSource(mqttProperties);
DataStreamSource<String> tempratureDataSource = env.addSource(mqttSource);
DataStream<String> stream = tempratureDataSource.map((MapFunction<String, String>) s -> s);
stream.print();
env.execute("Temperature Analysis");
}
示例3: testUnboundedPojoSourceButReturnInvalidTupleType
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
@Test(expected = InvalidTypesException.class)
public void testUnboundedPojoSourceButReturnInvalidTupleType() throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<Event> input = env.addSource(new RandomEventSource(5).closeDelay(1500));
DataStream<Tuple5<Long, Integer, String, Double, Long>> output = SiddhiCEP
.define("inputStream", input, "id", "name", "price", "timestamp")
.cql("from inputStream select timestamp, id, name, price insert into outputStream")
.returns("outputStream");
DataStream<Long> following = output.map(new MapFunction<Tuple5<Long, Integer, String, Double, Long>, Long>() {
@Override
public Long map(Tuple5<Long, Integer, String, Double, Long> value) throws Exception {
return value.f0;
}
});
String resultPath = tempFolder.newFile().toURI().toString();
following.writeAsText(resultPath, FileSystem.WriteMode.OVERWRITE);
env.execute();
assertEquals(5, getLineCount(resultPath));
env.execute();
}
示例4: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
// set up the execution environment
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties props = new Properties();
props.setProperty(TwitterSource.CONSUMER_KEY, "...");
props.setProperty(TwitterSource.CONSUMER_SECRET, "...");
props.setProperty(TwitterSource.TOKEN, "...");
props.setProperty(TwitterSource.TOKEN_SECRET, "...");
env.addSource(new TwitterSource(props))
.flatMap(new ExtractHashTags())
.keyBy(0)
.timeWindow(Time.seconds(30))
.sum(1)
.filter(new FilterHashTags())
.timeWindowAll(Time.seconds(30))
.apply(new GetTopHashTag())
.print();
env.execute();
}
示例5: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "localhost:9092");
properties.setProperty("group.id", "test");
DataStream<TemperatureEvent> inputEventStream = env.addSource(
new FlinkKafkaConsumer09<TemperatureEvent>("test", new EventDeserializationSchema(), properties));
Pattern<TemperatureEvent, ?> warningPattern = Pattern.<TemperatureEvent> begin("first")
.subtype(TemperatureEvent.class).where(new FilterFunction<TemperatureEvent>() {
private static final long serialVersionUID = 1L;
public boolean filter(TemperatureEvent value) {
if (value.getTemperature() >= 26.0) {
return true;
}
return false;
}
}).within(Time.seconds(10));
DataStream<Alert> patternStream = CEP.pattern(inputEventStream, warningPattern)
.select(new PatternSelectFunction<TemperatureEvent, Alert>() {
private static final long serialVersionUID = 1L;
public Alert select(Map<String, TemperatureEvent> event) throws Exception {
return new Alert("Temperature Rise Detected:" + event.get("first").getTemperature()
+ " on machine name:" + event.get("first").getMachineName());
}
});
patternStream.print();
env.execute("CEP on Temperature Sensor");
}
示例6: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String args[]) throws Exception {
ParameterTool tool = ParameterTool.fromArgs(args);
Properties p = new Properties();
p.setProperty(TwitterSource.CONSUMER_KEY, tool.getRequired("consumer.key"));
p.setProperty(TwitterSource.CONSUMER_SECRET, tool.getRequired("consumer.secret"));
p.setProperty(TwitterSource.TOKEN, tool.getRequired("token"));
p.setProperty(TwitterSource.TOKEN_SECRET, tool.getRequired("token.secret"));
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);
DataStream<String> streamSource = env.addSource(new TwitterSource(p));
// Every 10 minutes, most trending of last 1 hour of tweets.
SlidingEventTimeWindows windowSpec = SlidingEventTimeWindows.of(Time.hours(1), Time.minutes(10));
streamSource.flatMap(hashTagExtraction())
.keyBy(0)
.sum(1)
.windowAll(windowSpec)
.maxBy(1)
.writeAsText("file:///Users/abij/projects/tryouts/flink-streaming-xke/hot-hashtags.log", OVERWRITE);
env.execute("Twitter Stream");
}
示例7: testFoldWindowState
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
@Test
public void testFoldWindowState() throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);
env.registerTypeWithKryoSerializer(File.class, JavaSerializer.class);
DataStream<String> src = env.fromElements("abc");
SingleOutputStreamOperator<?> result = src
.keyBy(new KeySelector<String, String>() {
@Override
public String getKey(String value) {
return null;
}
})
.timeWindow(Time.milliseconds(1000))
.fold(new File("/"), new FoldFunction<String, File>() {
@Override
public File fold(File a, String e) {
return null;
}
});
validateStateDescriptorConfigured(result);
}
示例8: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "localhost:9092");
properties.setProperty("zookeeper.connect", "localhost:2181");
properties.setProperty("group.id", "test");
properties.setProperty("auto.offset.reset", "latest");
FlinkKafkaConsumer08<DeviceEvent> flinkKafkaConsumer08 = new FlinkKafkaConsumer08<>("device-data",
new DeviceSchema(), properties);
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<DeviceEvent> messageStream = env.addSource(flinkKafkaConsumer08);
Map<String, String> config = new HashMap<>();
config.put("cluster.name", "my-application");
// This instructs the sink to emit after every element, otherwise they would be buffered
config.put("bulk.flush.max.actions", "1");
List<InetSocketAddress> transportAddresses = new ArrayList<>();
transportAddresses.add(new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9300));
messageStream.addSink(new ElasticsearchSink<DeviceEvent>(config, transportAddresses, new ESSink()));
env.execute();
}
開發者ID:PacktPublishing,項目名稱:Practical-Real-time-Processing-and-Analytics,代碼行數:24,代碼來源:FlinkESConnector.java
示例9: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String... args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<WikipediaEditEvent> edits = env.addSource(new WikipediaEditsSource());
edits
.timeWindowAll(Time.minutes(1))
.apply(new AllWindowFunction<WikipediaEditEvent, Tuple3<Date, Long, Long>, TimeWindow>() {
@Override
public void apply(TimeWindow timeWindow, Iterable<WikipediaEditEvent> iterable, Collector<Tuple3<Date, Long, Long>> collector) throws Exception {
long count = 0;
long bytesChanged = 0;
for (WikipediaEditEvent event : iterable) {
count++;
bytesChanged += event.getByteDiff();
}
collector.collect(new Tuple3<>(new Date(timeWindow.getEnd()), count, bytesChanged));
}
})
.print();
env.execute();
}
示例10: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
@SuppressWarnings("Convert2Lambda")
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment streamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> dataStream = streamExecutionEnvironment.readTextFile("file:///tmp/flink-esper-input");
EsperStream<String> esperStream = Esper.pattern(dataStream, "select bytes from String");
DataStream<String> result = esperStream.select(new EsperSelectFunction<String>() {
private static final long serialVersionUID = 7093943872082195786L;
@Override
public String select(EventBean eventBean) throws Exception {
return new String((byte[]) eventBean.get("bytes"));
}
});
result.writeAsText("file:///tmp/flink-esper-output");
streamExecutionEnvironment.execute("Simple Flink Esper Example");
}
示例11: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws IOException {
StreamExecutionEnvironment execEnv = StreamExecutionEnvironment.createLocalEnvironment();
StreamTableEnvironment env = StreamTableEnvironment.getTableEnvironment(execEnv);
execEnv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
CompilationResult res = new CompilationResult();
try {
JobDescriptor job = getJobConf(System.in);
res.jobGraph(new JobCompiler(env, job).getJobGraph());
} catch (Throwable e) {
res.remoteThrowable(e);
}
try (OutputStream out = chooseOutputStream(args)) {
out.write(res.serialize());
}
}
示例12: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(4);
final Hashtable<String, String> jmsEnv = new Hashtable<>();
jmsEnv.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.solacesystems.jndi.SolJNDIInitialContextFactory");
jmsEnv.put(InitialContext.PROVIDER_URL, "smf://192.168.56.101");
jmsEnv.put(Context.SECURITY_PRINCIPAL, "[email protected]_vpn");
jmsEnv.put(Context.SECURITY_CREDENTIALS, "password");
env.addSource(new JMSTopicSource<String>(jmsEnv,
"flink_cf",
"flink/topic",
new JMSTextTranslator()))
.print();
env.execute();
}
示例13: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(4);
final Hashtable<String, String> jmsEnv = new Hashtable<>();
jmsEnv.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.solacesystems.jndi.SolJNDIInitialContextFactory");
jmsEnv.put(InitialContext.PROVIDER_URL, "smf://192.168.56.101");
jmsEnv.put(Context.SECURITY_PRINCIPAL, "[email protected]_vpn");
jmsEnv.put(Context.SECURITY_CREDENTIALS, "password");
env.addSource(new JMSQueueSource<String>(jmsEnv,
"flink_cf",
"flink_queue",
new JMSTextTranslator()))
.print();
env.execute();
}
示例14: testEventTimeOrderedWriter
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
@Test
public void testEventTimeOrderedWriter() throws Exception {
StreamExecutionEnvironment execEnv = StreamExecutionEnvironment.createLocalEnvironment();
String streamName = "testEventTimeOrderedWriter";
SETUP_UTILS.createTestStream(streamName, 1);
DataStreamSource<Integer> dataStream = execEnv
.addSource(new IntegerGeneratingSource(false, EVENT_COUNT_PER_SOURCE));
FlinkPravegaWriter<Integer> pravegaSink = new FlinkPravegaWriter<>(
SETUP_UTILS.getControllerUri(),
SETUP_UTILS.getScope(),
streamName,
new IntSerializer(),
event -> "fixedkey");
FlinkPravegaUtils.writeToPravegaInEventTimeOrder(dataStream, pravegaSink, 1);
Assert.assertNotNull(execEnv.getExecutionPlan());
}
示例15: main
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
// set up the execution environment
final StreamExecutionEnvironment env = new StreamExecutionEnvBuilder().build();
// Get the json config for parsing the raw input stream
String parsingConfig = AppUtils.getParsingJsonConfig();
KeyedStream<Tuple3<String, Long, String>, Tuple> kaydRawMessagesStream =
setupKayedRawMessagesStream(env, parsingConfig);
String outputStreamTopicName = configs.getStringProp("inputStreamTopicName");
double streamDelayScale = configs.getDoubleProp("streamDelayScale");
Properties producerProps = AppUtils.getKafkaProducerProperties();
// replay the stream
kaydRawMessagesStream.map(new StreamPlayer(streamDelayScale, outputStreamTopicName,
producerProps)).setParallelism(1);
// execute program
env.execute("datAcron In-Situ Processing AIS Message Stream Simulator"
+ AppUtils.getAppVersion());
}