pubDate: 2024-05-28
author: sakakibara
機械学習基盤はいくつかのレイヤーに分割して考える。
RDBに入っているデータやwebなどで配信されるストリーミングデータなど。 分析を主としないサービスからのデータをデータソースと呼ぶ。
プロセッシングレイヤは主に2つの処理に分かれている
サービスとして以下のようなものがある。
Kafkaは分散メッセージキューである。 後段が壊れてもデータが貯まる。 データはjsonでも何でもok
Kafka、というかpub/sub系のメッセージキューではデータソースをpublicier(pub)という。 Kafkaはbroker, topic, consumerの3つオブジェクトがあり、 brokerはpubから送られてきたデータをtopic(queue)へ送る。 consumerはtopicに溜まっているデータを取り出す(sync)。
Spark StremingはApache/Sparkをストリーミング用途で利用する場合に使用する呼び方である。 Spark Streming(SS)はKafkaに対してpubにもconsumerにもなることができる。
定期実行エンジン。 定期的にワークフローを実行することができる。 他にJenkinsやRundeckなどがある。 プラグインが多い。
代表的なプラグインとしてEmbulkがある。 大容量のデータを移すこと(Posgre->S3などに)が得意。 DigDagと開発元が同じ。 設定をyml形式で書くことができる。
よく知られた三層構造をとることが多い。
代表的なサービスとして
BIツールなど。なんでもいい。 MetaBaseやTableauなど