Flink-এর Execution Environment এবং Context দুটি খুব গুরুত্বপূর্ণ উপাদান, যা Flink প্রোগ্রাম চালাতে এবং পরিচালনা করতে ব্যবহৃত হয়। নিচে এই দুটি উপাদানের ব্যাখ্যা দেওয়া হলো:
Execution Environment হলো Flink প্রোগ্রামের কেন্দ্রীয় বিন্দু, যা বিভিন্ন সেটআপ এবং সংযোগ তৈরি করে এবং প্রোগ্রামের পুরো লাইফসাইকেল পরিচালনা করে। এটি Flink API-এর মাধ্যমে কাজ করে এবং ডেটা প্রসেসিং টাস্ক শুরু করে।
Flink-এ সাধারণত তিন ধরনের Execution Environment রয়েছে:
Local Execution Environment:
ExecutionEnvironment env = ExecutionEnvironment.createLocalEnvironment();
Remote Execution Environment:
ExecutionEnvironment env = ExecutionEnvironment.createRemoteEnvironment("host", port, "path/to/jar");
Default Execution Environment:
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
Execution Context Flink-এর ভিতরে একটি প্রোগ্রাম চলার সময় তার বর্তমান স্টেট এবং সেটিংস পরিচালনা করে। এটি Execution Environment-এর সাথে কাজ করে। Execution Context এর মাধ্যমে Flink প্রোগ্রাম এর Configuration, State Management, এবং Task Execution পরিচালিত হয়।
Execution Context সাধারণত ডেভেলপারের জন্য সরাসরি ব্যবহারের প্রয়োজন হয় না। এটি Flink Runtime দ্বারা ব্যবহৃত হয় এবং এটি Execution Environment এর মাধ্যমে কাজ করে।
import org.apache.flink.api.java.ExecutionEnvironment;
public class FlinkExample {
public static void main(String[] args) throws Exception {
// Execution Environment তৈরি করা
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// ডেটাসেট তৈরি করা
DataSet<String> text = env.readTextFile("path/to/file.txt");
// ডেটাসেটের উপর ট্রান্সফরমেশন প্রয়োগ করা
DataSet<Integer> wordCounts = text
.flatMap(new LineSplitter())
.groupBy(0)
.sum(1);
// আউটপুট লিখে দেওয়া
wordCounts.writeAsCsv("output/path");
// Execution শুরু করা
env.execute("Flink Word Count Example");
}
}
এই উদাহরণে, ExecutionEnvironment.getExecutionEnvironment()
ব্যবহার করে Execution Environment তৈরি করা হয়েছে। তারপর এটি দিয়ে ডেটাসেট তৈরি, ট্রান্সফরমেশন অ্যাপ্লাই এবং আউটপুট প্রসেস করা হয়েছে।
এই দুইটি উপাদান Flink প্রোগ্রাম ডেভেলপ এবং এক্সিকিউশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।
আরও দেখুন...