新世代のリアルタイム レイク ウェアハウスを構築するにはどうすればよいでしょうか? データレイクに基づくKangaroo Cloudの探索とアップグレードのパス

リアルタイム レイク ウェアハウスに関するこれまでの一連の記事では、現在の企業のデジタル変革におけるリアルタイム レイク ウェアハウスの重要性、リアルタイム レイク ウェアハウスの機能アーキテクチャ設計、およびその組み合わせのアプリケーション シナリオを紹介しました。リアルタイム コンピューティングとデータ レイクの。

この記事では、リアルタイムレイクウェアハウスシステム構築におけるKangaroo Cloud Data Stackの探索と実装実践、および今後の計画について紹介します。

Shuzhan がリアルタイム レイク ウェアハウスを選択した理由は何ですか?

Data Stack は、データ開発プラットフォームとして、リアルタイム レイク ウェアハウスの導入前にLambda アーキテクチャに基づく開発モデルを提供していましたが、この開発モデルはリアルタイムとオフラインの 2 つのリンクに分割されていました。

· 複雑さが高く、ストリーミングおよびバッチ デュアル リンクのさまざまなコンポーネントのメンテナンスが必要

· ストレージ コストが高く、ストリーミング バッチの 2 つのリンクが同じデータの 2 つのコピーを維持します。

· リアルタイムリンクが確認できず、Kafka の中間データのクエリが困難で、ランダムクエリはサポートされておらず、シーケンシャルクエリのみがサポートされています。

·データ口径の一貫性が低く、異なるコンピューティング エンジンが統一されたデータ口径を確保することが困難です。

ファイル

リアルタイムのレイク ウェアハウスは、ストレージ コストを節約し、開発効率を大幅に向上させ、データ価値をより迅速かつ適切にマイニングすることができます。

・バッチ処理やストリーム処理にとどまらない多様な分析機能を提供し、対話型クエリや機械学習にも対応

·データ品質をより確実に保証し、追加、削除、変更、クエリなどの機能を提供できるACID トランザクション機能を提供します。従来のデータ ウェアハウスにはこの機能がありません。

· データ形式、データスキーマなどを含む完全なデータ管理機能を提供します。

· HDFS、オブジェクト ストレージ、クラウド ストレージなどをサポートする、スケーラブルなストレージ メディア機能を提供します。

データスタックはリアルタイムレイクウェアハウスの実践に基づいています

次の図は、リアルタイム レイク ウェアハウスに基づくデータ スタック ソリューションの構造図です。

ファイル

自社開発のデータ統合フレームワーク ChunJun を使用して、ビジネス ライブラリ内のデータをリアルタイムに収集し、レイクに入力します。現在、Iceberg/Hudi がレイクへのリアルタイム エントリに対応しています。その後、データスタックのリアルタイム開発プラットフォームとオフライン開発プラットフォームでビジネス開発が行われ、FlinkとSparkは、Iceberg/HudiとのドッキングおよびIceberg/Hudiソースインジケーター表示をサポートします。データ管理は、ワンクリックのテーブル転送、レイク テーブル管理などの、EasyLake統合レイクおよびウェアハウス プラットフォームを通じて実行されます。

これに基づいて、リアルタイム レイク ウェアハウスは、前述の Lambda アーキテクチャ開発モデルによって引き起こされる問題点をうまく解決します。ストレージ層とコンピューティング層でのストリーミングとバッチ処理の統合を実現し、リアルタイムのリンク中間データのチェック、統一されたデータ口径、低コストのストレージを可能にし、より高速で、より柔軟で、より効率的なデータ処理エクスペリエンスを実現します。これがデータスタックであり、リアルタイムレイクウェアハウスの原理の理由です。

以下では、湖へのリアルタイム アクセスと具体化されたビューの紹介に焦点を当てます。

CDC による湖へのリアルタイム アクセス

Flink CDC はデータベース ログに基づく CDC テクノロジーであり、完全な増分統合読み取りのためのデータ統合フレームワークを実装します。Flink の優れたパイプライン機能と豊富な上流および下流のエコシステムにより、Flink CDC は大量のデータのリアルタイム統合を効率的に実現できます。ただし、湖への CDC データのリアルタイム入力は、次のような大きな課題にも直面しています。

· 高いリアルタイム パフォーマンス: CDC データには高いリアルタイム性が求められ、データの鮮度が高いほどビジネス価値も高くなります。

· 大量の履歴データ: データベースには大量の履歴データがあります。

· 強い一貫性: データ処理では順序性を確保し、結果の一貫性を確保する必要があります。

· スキーマの動的進化: データベースに対応するスキーマはビジネスに応じて変化し続けます。

では、数値スタックはどのように作成されるのでしょうか?

ファイル

Kangaroo Cloud が独自に開発したデータ統合フレームワーク ChunJun は、MySQL CDC、Oracle CDC、PG CDC、SQLServer CDC などの CDC データの収集をサポートしています。CDC データが収集された後、それは Iceberg/Hudi Sink に書き込まれ、リアルタイムで湖に入る作業を完了します。

このようにして作成されたリンクとアーキテクチャ全体は Kangaroo Cloud によって独自に開発され、完全に制御可能であり、ビジネスの安定性に影響を与えることなく、完全な増分統合と分単位の遅延を実現します。

ChunJun:https://github.com/DTStack/chunjun.git

リアルタイムで湖に着陸する際の問題

リアルタイムで湖に着陸する過程で、次の問題や課題にも遭遇しました。

· 小さいファイルの問題: 小さいファイルは読み取りと書き込みの効率に影響を与え、HDFS クラスターの安定性を低下させます。

· Hudi は Flink1.12 に適応します: 顧客グループが使用する Flink バージョンのほとんどは依然として 1.12 のままです。

· レイクへのクラスター間アクセス: 複数の Hadoop クラスターのシナリオでは、クラスター間でアクセスする必要があります。

Data Stack はこれらの問題をどのようにして 1 つずつ克服するのでしょうか?

● 小さなファイルの問題の最適化

· チェックポイント間隔を適切に設定する

圧縮プロセス全体は、大量の I/O を伴う操作プロセスです。チェックポイント間隔をやみくもに調整すると、小さなファイルの問題、HDFS の負荷の増加、チェックポイントの失敗、タスクの不安定性など、一連の問題が発生します。

実際に多くの検証を行った後、チェックポイント間隔を 1 ~ 5 分に設定することをお勧めします。

· プラットフォームベースの小さなファイル管理

チェックポイントを調整すると、小さなファイルの生成を軽減し、プラットフォームベースの小さなファイル管理を実行して問題を根本的に解決できます。

EasyLakeのレイクテーブル管理機能は、データファイル管理、スナップショットファイル管理、Hudi MOR増分ファイルマージをサポートしており、小さいファイルの数を一定範囲内に制御し、管理効率を向上させます。

ファイル

● Hudi を Flink バージョン 1.12 に適応させる方法

データスタックは白紙ではなく、まず hudi-flink1.13.x モジュールをベースに hudi-flink1.12 を開発し、Flink のバージョンを 1.12.7 に修正し、互換性のない点を修正しました。最後に、完全な機能テストを実行すると、適応作業が完了します。

ファイル

· クラスタ間レイクアクセスソリューション

Hudi および Iceberg シンクは、デフォルトで HADOOP_CONF_DIR 環境変数から core-site.xml および hdfs-site.xml を取得して、対応する HDFS にアクセスします。

ナンバースタックは自社開発のChunJunをベースにしており、ChunJunのiceberg-connector、hudi-connectorでは、hadoop conf dirの取得方法が拡張され、hadoopConfigのカスタムパラメータの指定方法に対応しまし

これにより、クラスター間でのデータのフローが可能になり、データ サイロが解消され、クラスター間のレイク アクセスがサポートされます。

ファイル

ETL 高速探索マテリアライズド ビュー

データ スタックによる具体化されたビューの探索を導入する前に、まずなぜ具体化されたビューが必要なのかを理解する必要があります。

リアルタイム レイク ウェアハウスには、リアルタイム ETL、オフライン ETL、OLAPの 3 種類のタスクが含まれています。ODS -> ADS の処理中に、上記 3 種類のタスクの集計操作がますます増加し、IO が増加し、 SQL 内で同じロジックの SQL が断片化するなどの現象。

マテリアライズド・ビューでは、テーブル接続や集計などの時間のかかる結果を事前に計算し、計算結果を保存できます。複雑な SQL をクエリする場合、計算は前のステップの事前計算結果に直接基づいて行われるため、時間のかかる操作や取得を回避できます。より早く結果が得られます。

リアルタイム レイク ウェアハウスのデータ レイクに基づいて構築されたマテリアライズド ビューは、ストリーム、バッチ、OLAP タスク間の共有を実現できるため、リンク全体に沿ったリアルタイム データ レイク内のデータの遅延がさらに削減されます。リアルタイム処理リンクを高速化し、コンピューティング コストを節約し、クエリのパフォーマンスと応答速度を向上させます。

● リアルタイム レイク ウェアハウスにマテリアライズド ビューを実装するには何を完了する必要があるか

· プラットフォームベースのデータレイクマテリアライズドビュー管理

· Spark は、データ レイク テーブル形式に基づいたマテリアライズド ビューの管理をサポートします

· Trino は、データ レイク テーブル形式に基づいたマテリアライズド ビューの管理をサポートします

· Flink は、データ レイク テーブル形式に基づいたマテリアライズド ビューの管理をサポートします

現在、データ スタック リアルタイム レイク ウェアハウスは Spark 部分と Trino 部分が完成していますが、後にこれら 4 つの部分が実装され、マテリアライズド ビューの役割が最大限に発揮される予定です。

● マテリアライズドビューの実装原理

ファイル· マテリアライズドビュー構文を作成する

CREATE MATERIALIZED VIEW (IF NOT EXISTS)? multipartIdentifier
          ('(' colTypeList ')')? tableProvider?
          ((OPTIONS options=tablePropertyList) |
           (PARTITIONED BY partitioning=partitionFieldList) |
           skewSpec |
           bucketSpec |
           rowFormat |
           createFileFormat |
           locationSpec |
           commentSpec |
           (TBLPROPERTIES tableProps=tablePropertyList))*
          AS query  

・ 例

CREATE MATERIALIZED VIEW mv
AS SELECT
  a.id, 
  a.name 
FROM jinyu_base a 
JOIN jinyu_base_partition b 
ON a.id = b.id;

これからの計画

リアルタイム レイク ウェアハウスに基づくKangaroo Cloudの実用的な道はこれをはるかに超えており、将来的には、より効率的で柔軟かつインテリジェントなデータ処理ソリューションを企業に提供するために、より多くのより深い探求が実行されるでしょう。

· 使いやすさ:プラットフォームのレイクテーブル管理の使いやすさが向上します。

· Paimon の紹介: このプラットフォームは、 Paimonとのドッキングをサポートし、Paimon に基づいた統合された湖と倉庫の構築を追加します。

· 湖に入るパフォーマンスの向上: カーネルを深く掘り下げて強化し、湖に入るパフォーマンスを向上させます。

· セキュリティの調査: リアルタイム レイク ウェアハウスはデータ共有を提供し、複数のエンジンをサポートし、リアルタイム レイク ウェアハウスのセキュリティ管理ソリューションを調査します。

この記事は、「リアルタイム レイク ウェアハウス実践に関する 5 つの講義、第 3 号」のライブ コンテンツの要約に基づいています。興味のある友人は、リンクをクリックしてライブ リプレイ ビデオを視聴し、ライブ コースウェアを無料で入手できます。

ライブコースウェア:

https://www.dtstack.com/resources/1054?src=szsm

ライブビデオ:

https://www.bilibili.com/video/BV1Ee411d7Py/?spm_id_from=333.999.0.0&

「Dtstack 製品ホワイトペーパー」: https://www.dtstack.com/resources/1004?src=szsm

「データ ガバナンス業界実践ホワイト ペーパー」ダウンロード アドレス: https://www.dtstack.com/resources/1001?src=szsm Kangaroo Cloud ビッグデータ製品、業界ソリューション、顧客事例について詳しく知りたい、または相談したい友人、 Kangaroo Cloud 公式 Web サイトをご覧ください: https://www.dtstack.com/?src=szkyzg

同時に、ビッグデータのオープンソース プロジェクトに興味のある学生は、最新のオープンソース テクノロジー情報を交換するために「Kangaroo Cloud Open Source Framework DingTalk Technology qun」に参加することを歓迎します。qun 番号: 30537511、プロジェクト アドレス: https: // github.com/DTStack

Alibaba Cloudが深刻な障害に見舞われ、全製品に影響(復旧済み) ロシアのオペレーティングシステム「Aurora OS 5.0」、新UIが Tumblrで公開 多くのインターネット企業がHongmengプログラマーを緊急採用 .NET 8が正式にGA、最新版LTS版 UNIX時間 17億時代に突入しようとしている(すでに突入) XiaomiはXiaomi Velaが完全にオープンソースであり、基盤となるカーネルは NuttX Linux上の.NET 8であることを公式に発表しました。独立したサイズは50%削減されます。FFmpeg 6.1」ヘビサイド」リリース Microsoft、新たな「Windowsアプリ」を発売
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/3869098/blog/10143091