Global Virtual Flink Forward 2020 Recap(Keynote)
10月後半にあったFlink ForwardのRecap(Keynote編)です(本邦初)。
なお、Ververcica(Flinkの創始者の会社・Forwardの運営)もRecap作ってくれています。
------
登壇者:Stephan Ewen (Flinkのファウンダーの一人)
概要:
Flinkの近況の紹介。
- Flink盛り上がっているよ!
(Apache系プロジェクトの中でもトップクラス) - 今年のバージョン新しい(1.10)の紹介。早くなったよ(Nexmark比較)!
- FlinkのBatch/Streamingの紹介
(歴史や機能概要?) - Datastream APIでBatchもStreamingも処理できるようになったよ!
登壇者:Konstantin Knauf (Vervecicaの中の人)
概要:
Flink SQLの紹介
登壇者:Xiaowei Jiang(Alibabaの人)
概要:AlibabaのFlink使用例の紹介
昔の話
- ラムダアーキテクチャ
- ストレージでは、Hive/Greenplum/HBase/ClickHouse/Cassandra/Kylin/Druid/Kuduを使用
- ↑サイロになっているし、利用者(社内のデータサイエンティストやエンジニア)選ぶの辛い
Flink後の話(Hybrid Serving/Analytical Processing(HSAP)と呼んでいる)
- バッチもストリーミングもFlink
- 統一したストレージに格納
- HSAP/HTAP(Hybrid Transaction/Analytical Processing)/OLAPの比較
-
Hologres(リアルタイムOLAP?)の紹介と内部構造の話
(WAl/LSMテーブル、パーティショニングの話など)
HSAPはAlibabaの技術ブログでも紹介されている。
登壇者:Peter Chalif(Citiの人)
概要:
そのうち見ます
登壇者: Ricky Saltzer(Epic Gamesの人)
概要:
そのうち見ます
登壇者: Renu Tewari(LinkedINの人)
概要:
そのうち見ます
jq入門してみた
dotinstall.comドットインストールのエイプリルフール企画の講座です。
自分のバックグランド
- jqは整形やフィールドの抽出に使う程度
-
jq Manual (development version)はちゃんと読んでいない
主な内容
- フィルター
- 関数(select, map, add, length…)
- 整形(配列、オブジェクト、CSV…)
- 実践的?な例(各ユーザーの平均点を求めるとか)
感想
- 30分~1時間で見終わったので、最初の一歩としてはいいかも
- プレミアム会員でないと、例やコマンドを巻き戻って見る時に面倒
UdemyでBeam入門の講座(A Hands-On course to build Big data Pipelines)見てみた
コースだとついつい買っちゃうよね。
見た講座:
自分のバックグランド:
- Beam Programming Guideは何回か読んだ
-
Streaming Systems: The What, Where, When, and How of Large-Scale Data Processingも読んだ
- 仕事でBeamのコードも何度か書いた(Javaがメイン。時々Python)
- ゆっくりな英語なら聞き取れる(TOEIC 940)
内容
- Beam + Python
- インド訛りな感じだけど、聞き取れない箇所はほぼない
- 内容はBeam Programming Guideに大体沿っている(良くも悪くも)入門的な内容
Programming Guideにあって、動画にないのは
- Schema
- State and Timer
- Splittable DoFn
- Multi-language pipelines
あたり。
感想
内容に不満あるわけでないけど、Beam Programming Guideで十分じゃないかな。
どうしても動画で見たい人は買ってもいいとおもうけど。
他の講座
中身見てないので、買った人は感想教えてください。
- Apache Beam | Future of Big Data | Udemy
-
Learn Practical Apache Beam in Java | BigData framework | Udemy
なんとなくシラバス見た感じ、2と4が細かい内容多くて、1と3が入門っぽい。
Javaパフォーマンス読んだ
www.oreilly.co.jp日本語版は2015年と古いですが、英語版は2020年に二版が出ています。
日本語版はJava7が中心で、時々Java8の話題が出てきます。
主な内容
- パフォーマンステストの話
- ツール(CPU・メモリ、JDK Mission Control、ダンプ)
- JIT
- ガーベジコレクション
- 各種プラクティス(ヒープ、ネイティブメモリ、スレッド、JavaEE、JPA・JDBC、Java SE)
メモ
パフォーマンスチューニングはアートとサイエンス
測る時は、なるだけ本番と同じ条件・マクロで測れ
GCは止まる時間・メモリ容量・CPU使用量などで選ぶ
オブジェクトの再利用はやるケースを選ぶ
-
オブジェクトが長生きする。old領域のGCはyoungよりも時間がかかる
- 管理が難しい
- 使うのはオブジェクト作成に時間がかかる時
同期はしなくてよいならしない
- ThreadLocalとか
初めて登壇してみた
人生初登壇カキコ
当日のスライド
感想
- 調べるなかでも、Prefectのドキュメント読んだりコード読んだりするのが勉強にりました
- テーマを絞らないLTなので、ワークフローエンジンの説明とかの量が難しい
- (オンラインだと反応が見えにくいというのもあるかも)
Beam Summit 2020 #1
Beam Summit 2020とは
- 2020/08/24~28に行われた、Beamのオンラインイベント
- 2019年は、Beam Summit North America 2019 - YouTubeとBeam Summit Europe 2019 - YouTubeがあった
- 録画もある
- 英語
聞いてみたセッションの話
Program | Beam Summit多いので選ぶの大変…
- タイトル通り、Beamの歴史の話・今やっていること・今後やりたいこと
- プロジェクト状況(現在のチケット状況やコミッター)
今やっていること
今後やりたいこと
- 言語またいだTransform
- C#
- 操作性の向上(スナップショット・Stateの異動・failoverやbackfill)
- ループ(今も出来るけどBeam modelぽくした)
- CEP(複合イベント処理 - Wikipedia)(何かよくわらかん)
- 最適化の向上
- Retractions(これ?Retractions in Beam - Google ドキュメント)
- BeamのPMC二人と、Googleの人
- BeamにあるStateの話ではなく、Beamの全体像・アーキテクチャの話
- 従来とPortable Frameworkの違い(SDK HarnessやBeamとRunnnerの連絡など)
- Beamを便利にするためにやっていること(Jupyterとうとう)
- 各言語のSDKの状況
- IO Connector(SnowFlake, Spanner, 各ConnectorのSplittableDoFn化)
- 各Runnerの状況(Spark, Flink, Dataflow)
Streaming Systems: The What, Where, When, and How of Large-Scale Data Processing読んだ(1)
数少ない(唯一?)Dataflow/Apache Beam本で、著者はGoogleでDataflowの開発していた人です。
良かった
- 個々の話題は、Streaming 101: The world beyond batch – O’ReillyとかBeam Programming GuideとかGCPブログに載っている情報が多いですが、まとまって読める
- 最後の章(Chapter10)で、ストリーミングの仲間たち(Spark/Storm/Flink/Beam/Dataflow…)の流れをつかめる
- Dataflowの裏側の情報も一部載っている
(watermarkの計算とか)
悪かった
Dataflow・Beamの本ではなくてStreaming Systemsな本です。
具体的には、
- Beamに(今は)無い機能がシレッとあったりする
(Acuumulating modeのRetractingとか) - Beamでよく使う機能(いわゆるCore TransformationsとかCoder)の説明がなかったりする
- Streamingに関係ない説明はバッサリ省略されている(デプロイとか)
ので、この本だけでDataflow/Beamを学習するのは難しくてBeam Katas/Beam Programming Guideあたりも読んだ方いいと思います。