マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Apache Flink

【OSS情報アーカイブ】Apache Flink

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Apache Flink」とは

基本情報

概要

Apache Flink(アパッチフリンク)とは、分散ストリーム処理プラットフォームです。バッチ処理にも対応し、耐障害性/拡張性を備えたストリーム処理基盤です。

基本説明

Apache Flinkは、ストリーム基盤として「データディストリビューション機能」「通信機能」「データストリームフォールトトレランス機能」「柔軟なAPI連携機能」などを備えています。本体はScalaで実装されています。

「ユーザコードによるメモリ枯渇が発生しない」「ガーベージコレクション削減」「効率的ディスクI/O」「ランタイムチューニング不要」「堅牢」「安定パフォーマンス」「機械学習/グラフ処理ライブラリ」などの特徴があります。

「Apache Spark」との相違点

同様な製品として「Apache Spark」があります。

「Spark」はバッチ処理からストリーム処理に派生したイメージです。それに対して「Flink」はストリーム処理からバッチ処理に派生しています。「Flink」は、耐障害性/ストリーミングを最優先しています。

主な特徴

All-in-One構成

Flinkでは同一のランタイムで「ストリーム処理」と「バッチ処理」を実行可能です。「複合イベント処理」「機械学習」「SQLライクAPI」も提供しています。

優れた耐障害性

Flinkは、耐障害性に優れているのが大きな特徴です。各処理をステートフルで扱っており、障害が発生した際には、処理を自動で復旧させる機能を有しています。

Flinkで処理されるイベントは、正確に1回だけ実行する「Exactly-once」ポリシーに基づいて処理されます。

「Chandy-Lamportアルゴリズム」を利用した分散スナップショットにより、高スループットを維持しつつ、耐障害性を実現しています。

高過負荷状態の場合には、イベント処理を中断し、全体がハングアップしないようにするフロー制御機能を有しています。

高パフォーマンス

Yahooが発表したベンチマークによると「Apache Storm」と同等以上の性能を示しています。

イベントタイムサポート

Flinkでは、受信したイベントに対する時間について、「Processing Time(システム時間)」「Event Time(イベントの発生元時間)」「Ingestion Time(イベント取得時間)」の3つの概念で扱えます。

柔軟なAPI

コアAPIとして、ストリーム用「DataStream API」、静的データ用「DataSet API」、SQL発行用「Table API」が用意されています。

オプション(ライブラリ/API)として、複雑なイベント処理用「CEP」、機械学習用「FlinkML」、グラフ操作用「Gelly」も用意されています。

独自のメモリ管理機構

アプリケーションがスケールしても、ガーベージコレクションの影響を回避できるようになっています。

イテレーション機構

機械学習/グラフ処理用に、高速に繰返し計算ができる「イテレーション機構」をサポートしています。

プログラム最適化(バッチ処理)

バッチ処理では、自動で最適化された実行計画を選択します。

他製品との連携

Flinkは、YARN上で動作し、HDFS/Kafka/Hadoop関連のプロダクトと連携できます。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Apache Spark」「Apache Storm」など。

ライセンス情報

Apache Flinkのライセンスは「Apache License Version 2」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。