タグ付けされた質問 「stream-processing」

5
道路の平均速度を計算する[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4日前休業。 データエンジニアの面接に行ってきました。インタビュアーから質問がありました。彼は私にいくつかの状況を与え、そのシステムのデータフローを設計するように頼みました。私はそれを解決しましたが、彼は私の解決策を嫌い、失敗しました。その課題を解決するためのより良いアイデアがあるかどうか知りたいのですが。 問題は: 私たちのシステムは4つのデータストリームを受信します。データには、車両ID、速度、地理位置情報の調整が含まれています。すべての車両が1分に1回データを送信します。特定の小川と特定の道路や車両などには何の関係もありません。コーディネートを受け付けて道路区間名を返す機能があります。5分あたりの道路セクションごとの平均速度を知る必要があります。最後に、結果をKafkaに書き込みます。 だから私の解決策は: 最初に、すべてのデータをカフカクラスターに1つのトピックに書き込み、緯度の最初の5〜6桁を経度の最初の5〜6桁に連結して分割します。次に、Structured Streamingによってデータを読み取り、調整ごとに道路セクション名を行ごとに追加し(そのための事前定義されたudfがあります)、道路セクション名によってデータをまとめます。 Kafkaのデータを調整の最初の5桁から6桁で分割するため、調整をセクション名に変換した後、大量のデータを正しいパーティションに転送する必要がないため、colesce()操作を利用できます。それは完全なシャッフルを引き起こしません。 次に、エグゼキューターごとの平均速度を計算します。 プロセス全体は5分ごとに発生し、追加モードでデータを最後のKafkaシンクに書き込みます。 そのため、面接担当者は私の解決策を好まなかった。誰かがそれを改善する方法や完全に異なるより良いアイデアを提案できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.