- Gerald Venzlのセッションは、スクリーンとの接続トラブルによりスキップ
- 「成功するJavaユーザグループの作り方」もNikhil NanivadekarのKafka、Erno VenalainenのIoTのセッションに変更
Big Data Exploration with Spark SQL and Java By Fernando Babadopulos
- データサイエンティストとどのようにデータを交換するか。
→Sparkフレームワーク - Spark Notebook
- マークダウンをサーバー側で処理
- コードを実行して結果を返す
- データは内部でjson形式のプレインテキスト
- csvを取り込んで表示できる。データフレーム
- 基本データはStringだが、データ型を指定できる。
- .filterによりデータの絞り込みができる。
- .sort並べ替え
- ユーザー定義関数をJava/Scalaで定義して名前を付けて登録し呼び出せる。
- SQLのようにdistinct, groupbyなども使える。
- 棒グラフや円グラフへプロットできる。
データ定義を変えて再実行するとグラフもすぐに変わる。 - 直接SQLを記述することもできる。
- テキストでの表形式だけでなく、リアルタイムで検索窓から絞り込みできる表示形式にもできる。
- データの処理結果をpersistにより、他の処理でも使えるデータとして永続化できる。
unpersistによりキャッシュをクリアできる。
Using Microprofile to develop microservices for IoT platform By Victor Duran
- 自動車には5枚のSIMカードを積んでいる。
- 砂漠に水の貯蔵庫を設置できる。
- 5Gの特徴
- 低周波へシフトしていく
- 膨大な数のデバイスをどのように制御するか。
- 2週間で書き換え可能な小さいマイクロサービス
- Entity-Control-Boundaryパターンに基づくサービス
- Boundary:ユーザー境界
- マイクロサービス
- ファンクションへ細分化していく。問題を小さくする。
- 同期呼び出しを避ける。
- データの分離。サービスごとに1データベース。
- 価値
- 独立して動ける
- ライフサイクルが別なのでいつでもデプロイできる
- 顧客の価値に集中できる
- 避けること
- 分散型モノリスのような結合度の高いサービス
- DBトランザクションの不在
- デプロイ
- コンテナごとにサービスを立てる
- テスト
- 結合テストが厚いダイヤモンドアプローチ
Getting Started Kafka By Nikhil Nanivadekar
- 最初、日本語でスピーチを始めてくれた。そのまま日本語でしてくれるのかと思いきや、限界を迎えて英語に切り替わった。
- Kafka
- トランザクションログ データベース
- Producer(データを生み出すもの)とConcumer(利用するもの)を分離する
- メッセージが生み出された順序を保持する
- 単一のProducer、複数のConcumer
- コンポーネント
- Zookeeper:
- 駅のようなもの?
- Broker / Server:
- メッセージの保存と保持
- Topic:
- メッセージの論理的な分離、レール・○○線の比喩(行き先が違う)
- Producer:
- メッセージを生み出しTopicへ発行する
- Consumer:
- メッセージを受け取る
- グループ化できる
- Zookeeper:
- クラスター構成でき、Brokerが1つ死んでも影響がない。
- Producerが複数のパーティションへメッセージを配布する。
- Consumerのプロセスが終了した後に発行されたメッセージがあれば、その差分を受け取れる。
- Zookeeperが各Concumerグループがどこまでメッセージを受け取ったか覚えている。
Erno Venalainen
- IoT: バイクとイベント会場の場所を地図上にマッピングするデモ
- いくつかの層に分かれる
- デバイス
- 通信
- 2G / 3G / Bluetooth / WiFi
- デバイスクラウドサービス
- リアルタイムシステム - k8sのクラスター
- 分析システム
- 2G / 3G / Bluetooth / WiFi
- DBはリアルタイムシステムと分析システムの中間に位置する。