
Apache Flink CVE-2020-17519 के लिए एक्सप्लॉइट, जो संस्करण 1.11.2 और उससे पहले के संस्करणों में डायरेक्टरी ट्रैवर्सल भेद्यता को लक्षित करता है, जिससे सर्वर पर अनधिकृत फ़ाइल रीड संभव होती है।
Apache Flink एक ओपन सोर्स स्ट्रीम प्रोसेसिंग फ्रेमवर्क है जिसमें शक्तिशाली स्ट्रीम- और बैच-प्रोसेसिंग क्षमताएँ हैं।
Flink के बारे में https://flink.apache.org/ पर और जानें।
एक स्ट्रीमिंग-प्रथम रनटाइम जो बैच प्रोसेसिंग और डेटा स्ट्रीमिंग प्रोग्राम दोनों का समर्थन करता है
Java और Scala में सुरुचिपूर्ण और सहज APIs
एक रनटाइम जो एक ही समय में बहुत उच्च थ्रूपुट और कम इवेंट लेटेंसी का समर्थन करता है
DataStream API में event time और out-of-order प्रोसेसिंग के लिए समर्थन, जो Dataflow Model पर आधारित है
विभिन्न समय सेमेंटिक्स (event time, processing time) में लचीली विंडोिंग (समय, गिनती, सत्र, कस्टम ट्रिगर)
exactly-once प्रोसेसिंग गारंटी के साथ फॉल्ट-टॉलरेंस
स्ट्रीमिंग प्रोग्रामों में प्राकृतिक बैक-प्रेशर
ग्राफ प्रोसेसिंग (बैच), मशीन लर्निंग (बैच), और कॉम्प्लेक्स इवेंट प्रोसेसिंग (स्ट्रीमिंग) के लिए लाइब्रेरीज़
DataSet (batch) API में इटरेटिव प्रोग्राम (BSP) के लिए अंतर्निहित समर्थन
इन-मेमोरी और आउट-ऑफ-कोर डेटा प्रोसेसिंग एल्गोरिदम के बीच कुशल और मजबूत स्विचिंग के लिए कस्टम मेमोरी प्रबंधन
Apache Hadoop MapReduce के लिए संगतता परतें
YARN, HDFS, HBase और Apache Hadoop इकोसिस्टम के अन्य घटकों के साथ एकीकरण
case class WordWithCount(word: String, count: Long)
val text = env.socketTextStream(host, port, '\n')
val windowCounts = text.flatMap { w => w.split("\\s") }
.map { w => WordWithCount(w, 1) }
.keyBy("word")
.timeWindow(Time.seconds(5))
.sum("count")
windowCounts.print()
case class WordWithCount(word: String, count: Long)
val text = env.readTextFile(path)
val counts = text.flatMap { w => w.split("\\s") }
.map { w => WordWithCount(w, 1) }
.groupBy("word")
.sum("count")
counts.writeAsCsv(outputPath)
Flink बनाने के लिए पूर्वापेक्षाएँ:
git clone https://github.com/apache/flink.git
cd flink
mvn clean package -DskipTests # this will take up to 10 minutes
Flink अब build-target में स्थापित है।
नोट: Maven 3.3.x Flink बना सकता है, लेकिन कुछ निर्भरताओं को ठीक से shade नहीं करेगा। Maven 3.1.1 लाइब्रेरीज़ को सही ढंग से बनाता है। Java 8 के साथ यूनिट टेस्ट बनाने के लिए, PowerMock runner का उपयोग करने वाले यूनिट टेस्ट में विफलताओं को रोकने के लिए Java 8u51 या उससे ऊपर का उपयोग करें।
Flink के कमिटर Flink कोडबेस को विकसित करने के लिए IntelliJ IDEA का उपयोग करते हैं। हम Scala कोड से जुड़े प्रोजेक्ट विकसित करने के लिए IntelliJ IDEA की अनुशंसा करते हैं।
IDE के लिए न्यूनतम आवश्यकताएँ हैं:
IntelliJ IDE मूल रूप से Maven का समर्थन करता है और Scala विकास के लिए एक प्लगइन प्रदान करता है।
विवरण के लिए हमारी IntelliJ सेट अप करना मार्गदर्शिका देखें।
नोट: हमारे अनुभव से, यह सेटअप Flink के साथ काम नहीं करता है क्योंकि Scala IDE 3.0.3 के साथ बंडल किए गए पुराने Eclipse संस्करण की कमियों के कारण या Scala IDE 4.4.1 में बंडल किए गए Scala संस्करण के साथ संस्करण असंगतताओं के कारण।
हम इसके बजाय IntelliJ का उपयोग करने की अनुशंसा करते हैं (ऊपर देखें)
पूछने में संकोच न करें!
यदि आपको कोई सहायता चाहिए, तो मेलिंग सूचियों पर डेवलपर्स और समुदाय से संपर्क करें।
यदि आपको Flink में कोई बग मिला है, तो एक issue खोलें।
Apache Flink का दस्तावेज़ीकरण वेबसाइट पर स्थित है: https://flink.apache.org
या सोर्स कोड की docs/ निर्देशिका में।
यह एक सक्रिय ओपन-सोर्स प्रोजेक्ट है। हम उन लोगों के लिए हमेशा खुले हैं जो सिस्टम का उपयोग करना चाहते हैं या इसमें योगदान करना चाहते हैं। यदि आप अपने कौशल के अनुकूल कार्यान्वयन कार्यों की तलाश में हैं, तो हमसे संपर्क करें। यह लेख Apache Flink में योगदान कैसे करें का वर्णन करता है।
Apache Flink, Apache Software Foundation (ASF) का एक ओपन सोर्स प्रोजेक्ट है। Apache Flink प्रोजेक्ट की उत्पत्ति Stratosphere शोध परियोजना से हुई।