jq入門してみた

dotinstall.comドットインストールのエイプリルフール企画の講座です。

 

自分のバックグランド

主な内容

  • フィルター
  • 関数(select, map, add, length…)
  • 整形(配列、オブジェクト、CSV…)
  • 実践的?な例(各ユーザーの平均点を求めるとか)

 感想

  • 30分~1時間で見終わったので、最初の一歩としてはいいかも
  • プレミアム会員でないと、例やコマンドを巻き戻って見る時に面倒

 

 

UdemyでBeam入門の講座(A Hands-On course to build Big data Pipelines)見てみた

コースだとついつい買っちゃうよね。

 

見た講座:

www.udemy.com

自分のバックグランド:

 

内容

  • Beam + Python
  • インド訛りな感じだけど、聞き取れない箇所はほぼない
  • 内容はBeam Programming Guideに大体沿っている(良くも悪くも)入門的な内容

Programming Guideにあって、動画にないのは

  • Schema
  • State and Timer
  • Splittable DoFn
  • Multi-language pipelines

あたり。

 

感想

内容に不満あるわけでないけど、Beam Programming Guideで十分じゃないかな。

どうしても動画で見たい人は買ってもいいとおもうけど。

 

他の講座

中身見てないので、買った人は感想教えてください。

 

  1. Apache Beam | Future of Big Data | Udemy
  2. Learn Practical Apache Beam in Java | BigData framework | Udemy

  3. Batch Processing with Apache Beam in Python | Udemy

  4. Streaming Analytics on Google Cloud Platform | Udemy

なんとなくシラバス見た感じ、2と4が細かい内容多くて、1と3が入門っぽい。

 

Javaパフォーマンス読んだ

 

www.oreilly.co.jp日本語版は2015年と古いですが、英語版は2020年に二版が出ています。

日本語版はJava7が中心で、時々Java8の話題が出てきます。

 

主な内容

  1. パフォーマンステストの話
  2. ツール(CPU・メモリ、JDK Mission Control、ダンプ)
  3. JIT
  4. ガーベジコレクション
  5. 各種プラクティス(ヒープ、ネイティブメモリ、スレッド、JavaEEJPAJDBCJava SE)

メモ

パフォーマンスチューニングはアートとサイエンス

測る時は、なるだけ本番と同じ条件・マクロで測れ

  • JITコンパイルが違ったりする
  • ミクロな部分が遅かったとしても、全体に占めるインパクトがわからん
  • 実際とズレた入力で測ると意味ない

GCは止まる時間・メモリ容量・CPU使用量などで選ぶ

  • コンカレント型は止まる時間短いが、CPU使用量が高い
  • どのGCでも止まる時間はある(young・フルGC

 

オブジェクトの再利用はやるケースを選ぶ

  • オブジェクトが長生きする。old領域のGCはyoungよりも時間がかかる

  • 管理が難しい
  • 使うのはオブジェクト作成に時間がかかる時

同期はしなくてよいならしない

  • ThreadLocalとか

 

 

初めて登壇してみた

人生初登壇カキコ

 

ariaki.connpass.com

当日のスライド

www.slideshare.net

 感想

  • 調べるなかでも、Prefectのドキュメント読んだりコード読んだりするのが勉強にりました
  • テーマを絞らないLTなので、ワークフローエンジンの説明とかの量が難しい
  • (オンラインだと反応が見えにくいというのもあるかも)

 

 

Beam Summit 2020 #1

 

Beam Summit 2020とは

2020.beamsummit.org

 

 

聞いてみたセッションの話

Program | Beam Summit多いので選ぶの大変…

 

2020.beamsummit.org

  • BeamのPMC&Googleの人

  • タイトル通り、Beamの歴史の話・今やっていること・今後やりたいこと
  • プロジェクト状況(現在のチケット状況やコミッター)

今やっていること

  • SQL・Kotlin・Scalaのサポート
  • Portability Framework
  • schemaとdataframework
  • 実際の使用例にそった、パターン例の整理

 今後やりたいこと

 

2020.beamsummit.org

  • 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)

 

 

shop.oreilly.com

数少ない(唯一?)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な本です。

 具体的には、

  1. Beamに(今は)無い機能がシレッとあったりする
    (Acuumulating modeのRetractingとか)
  2. Beamでよく使う機能(いわゆるCore TransformationsとかCoder)の説明がなかったりする
  3. Streamingに関係ない説明はバッサリ省略されている(デプロイとか)

ので、この本だけでDataflow/Beamを学習するのは難しくてBeam Katas/Beam Programming Guideあたりも読んだ方いいと思います。

 

 

 

 

 

 

 

Apache Flink眺めてみる

 

streamingsystems.netApache Flinkがやたら褒められていたので、Flinkが気になってきた夏の日です。

 

Apache Flinkとは

flink.apache.org

ストリーミング処理が行えるフレームワークで、カテゴリー的には

あたりの仲間です。

独立でも使えますが、Apache BeamのRunnerとしても使え、かつApache Beam Capability Matrix的にはDataflowと同レベルのサポートです。

 

2011年からいるので、結構な古参です。

#FlinkForward SF 2017: Kenneth Knowles - Portable stateful big data processing in Apache Beam

f:id:toukoudo:20200815101541p:plain

 

面白げな機能

Dataflowでいいじゃんとなりそうですが、↓のような差別化がありそうです。

※Runner/言語でポータブルに出来るなにか。Beam Stockholm 2019 - Portability Framework - Google スライドがわかりやすい

※※ BeamにもStateがありますが、より柔軟に使えそうな印象

 

 

マネージドサービス

※「 Apache Flink をベースとしたオープンソースライブラリが含まれている」らしい。完全互換なのか知らないので詳しい人教えてください

 

事例

 有名企業むっちゃいます。

flink.apache.org

日本企業の例は↓

 

学習リソース

みんな大好き公式ドキュメント

 

flink.apache.org

 

O'reillyから本がでています。

learning.oreilly.com

learning.oreilly.com

困った時のUdemy

www.udemy.com

Flink Forward

www.flink-forward.org

(Flink Forward - YouTube)