ByteDance から 10 を超える講演が CommunityOverCode Asia 2023 に集まり、オープンソースの実践を共有しました

2023 年 8 月 18 ~ 20 日、パーク プラザ ホテル、北京

Apache Software Foundation の公式グローバルカンファレンスシリーズである CommunityOverCode Asia (旧 ApacheCon Asia) の最初の中国オフラインサミットが、2023 年 8 月 18 日から 20 日まで北京のパーク プラザ ホテルで開催されます。カンファレンスには 17 のフォーラムの指示と、何百もの最先端の問題。

ByteDance のオープンソース経験は、「​​オープンソースの使用、オープンソースへの参加、オープンソースのオープン化に率先して取り組む」というさまざまな段階を経てきました。オープンソースに対する同社の姿勢は常にオープンであり、奨励的です。この CommunityOverCode アジア サミットでは、Byte の学生 15 名が ByteDance のビジネスにおける Apache オープンソース プロジェクトの実践的な経験を 6 つのトピックの下、10 トピックについて共有します。また、Apache Calcite PMC メンバーが基調講演で共有します。私の経験と成果を共有することを楽しみにしています。オンサイトの参加者とともにオープンソースの貢献に参加することがなくなります。

基調講演: オープンソースに貢献するのは難しいですか?

おそらく多くの学生は、技術的能力と影響力を向上させるために、オープンソースへの貢献に参加することを考えたことがあるでしょう。しかし、理想と現実の間には通常、ある程度の距離があります。仕事が忙しくて参加する時間がないため、オープンソース プロジェクトの敷居が高すぎて、どうやって始めればよいのかわかりません。 、しかしコミュニティの反応は高くなく、私は固執していません。この基調講演では、Li Benchao が自身の経験を組み合わせて、オープンソース コミュニティへの貢献、これらの困難を克服する方法、最終的にオープンソース コミュニティでブレークスルーを達成する方法、仕事とオープンソースのバランスをとる方法について、いくつかの短い物語と考えを共有します。ソースの貢献。

李本超

ByteDance Flink SQL テクニカル ディレクター

Apache Calcite PMC メンバー、Apache Flink コミッターは北京大学を卒業し、現在 ByteDance ストリーミング コンピューティング チームで働いており、Flink SQL の技術リーダーです。

基調演説

トピック: データレイクとデータウェアハウス

Flink に基づいてリアルタイム データ レイクを構築する実践

リアルタイム データ レイクは最新のデータ アーキテクチャの中核コンポーネントであり、企業が大量のデータをリアルタイムで分析およびクエリできるようにします。この共有では、まず、データの適時性の高さ、多様性、一貫性、正確さなど、リアルタイム データ レイクの現在の問題点を紹介します。次に、Flink と Iceberg に基づいてリアルタイム データ レイクを構築する方法を、主に次の 2 つの部分を通して紹介します。リアルタイムでデータをレイクに配置する方法と、Flink を使用して OLAP アドホック クエリを実行する方法です。最後に、リアルタイム データ レイクにおける ByteDance の実際的な利点をいくつか紹介しましょう。

王正

Volcano Engine クラウド ネイティブ コンピューティング R&D エンジニア

2021年にByteDanceに入社し、インフラストラクチャオープンプラットフォームチームで主にサーバーレスFlinkの研究開発などを担当。

ミン・ジョンユアン

Volcano Engine クラウド ネイティブ コンピューティング R&D エンジニア

2021年にByteDanceに入社し、インフラストラクチャオープンプラットフォームチームに所属し、主にサーバーレスFlink、Flink OLAPなどの研究開発を担当しています。

ByteDance の Parquet フォーマットに基づくコスト削減と効率向上の実践

ByteDance オフライン データ ウェアハウスは、デフォルトでデータ ストレージに Parquet 形式を使用しますが、ビジネスで使用すると、小さなファイルが多すぎる、データ ストレージ コストが高いなどの関連問題が発生しました。小さなファイルが多すぎる問題に対処するための既存の技術的解決策は、一般に、Spark を通じて複数の Parquet の小さなファイルを読み取り、データを再出力して 1 つ以上の大きなファイルにマージすることです。過剰なストレージ コストの問題については、現在オフライン データ ウェアハウスには、パーティション内で使用されなくなった大規模なデータを占める詳細なフィールド データ (列レベルの TTL) を削除する必要がある場合に、パーティション レベルの行レベルの TTL ソリューションしかありません。その割合に応じて、Spark を通じてデータを読み取り、削除する必要があるフィールドを NULL に設定して上書きする必要があります。小さなファイルのマージであっても、列レベルの TTL であっても、Parquet データ ファイルでは多数の上書き操作が行われます。 Parquet 形式には特別なエンコード規則があるため、Parquet でデータを読み書きするには、特別な (逆) シリアル化、(逆) 圧縮、(逆) エンコーディングなどの一連の操作が必要です。このプロセスでは、エンコード、デコード、解凍などの操作は CPU を集中的に使用する計算であり、大量のコンピューティング リソースを消費します。 Parquet 形式ファイルの上書き効率を向上させるために、Parquet ファイル形式の定義を深く研究し、バイナリ コピー方式を使用してデータの上書き操作を最適化し、従来の方法と比較して、エンコードやデコードなどの冗長な操作を省略しました。ファイルの上書き効率が大幅に向上し、通常の上書き方法の 10 倍以上のパフォーマンスを実現します。使いやすさを向上させるために、ユーザーが小さなファイルのマージや列レベルの TTL などの操作を簡単に完了できるようにする新しい SQL 構文も提供します。

徐青

火山エンジン LAS シニア R&D エンジニア

Hive Metastore、SparkSQL、Hudi などのビッグデータ関連コンポーネントの研究開発に長年従事してきました。

ワン・エンス

火山エンジン LAS シニア R&D エンジニア

ByteDance のビッグ データ分散コンピューティング エンジンの設計と開発を担当し、同社が大量のデータから価値の高い情報を抽出できるように支援します。

トピック: 人工知能/機械学習

ByteDance ディープラーニング バッチストリーム統合トレーニング実践

同社のビジネスの発展に伴い、アルゴリズムの複雑さは増大し続けており、モデルの効果を向上させるために、オフライン更新に基づくリアルタイム トレーニングを模索するアルゴリズム モデルが増えています。複雑なオフラインとリアルタイムのトレーニングの柔軟な配置と自由な切り替えを実現し、より広範囲のオフライン コンピューティング リソースをスケジュールするために、機械学習モデルのトレーニングは徐々にバッチとストリームを統合する傾向にあります。今回は、ByteDance 機械学習を共有します。トレーニング スケジューリング 一部のコンテンツには、フレームワークのアーキテクチャの進化、バッチ ストリーム統合の実践、異種エラスティック トレーニングなどが含まれます。また、多段階マルチデータ ソースのハイブリッド オーケストレーション、ストリーミング サンプルのグローバル シャッフル、フルリンク ネイティブ化、MFTC (バッチストリーム統合協調トレーニング) シナリオでのトレーニング データの洞察の実践的な経験にも焦点を当てています。

マオ・ホンユエ

ByteDance インフラストラクチャ エンジニア

2022年にByteDanceに入社し、機械学習トレーニングの研究開発に従事しており、主にDouyinビデオレコメンデーション、Toutiaoレコメンデーション、センザンコウ広告などのビジネスをサポートする大規模なクラウドネイティブバッチストリーム統合AIモデルトレーニングエンジンを担当しています。銭川のグラフィック広告およびその他の事業。

ByteDance Spark は Wanka モデル推論の実践をサポートします

同社のビジネスの発展に伴い、アルゴリズムの複雑さは増大し続けており、モデルの効果を向上させるために、オフライン更新に基づくリアルタイム トレーニングを模索するアルゴリズム モデルが増えています。複雑なオフラインとリアルタイムのトレーニングの柔軟な配置と自由な切り替えを実現し、より広範囲のオフライン コンピューティング リソースをスケジュールするために、機械学習モデルのトレーニングは徐々にバッチとストリームを統合する傾向にあります。今回は、ByteDance 機械学習を共有します。トレーニング スケジューリング 一部のコンテンツには、フレームワークのアーキテクチャの進化、バッチ ストリーム統合の実践、異種エラスティック トレーニングなどが含まれます。また、多段階マルチデータ ソースのハイブリッド オーケストレーション、ストリーミング サンプルのグローバル シャッフル、フルリンク ネイティブ化、MFTC (バッチストリーム統合協調トレーニング) シナリオでのトレーニング データの洞察の実践的な経験にも焦点を当てています。

リウ・チャン

ByteDance インフラストラクチャ エンジニア

2020 年に ByteDance に入社し、インフラストラクチャ バッチ コンピューティング チームで主に Spark クラウド ネイティブと Spark On Kubernetes の開発を担当しています。

張永強

ByteDance 機械学習システム エンジニア

2022年にByteDanceに入社し、AML機械学習システムチームに所属し、大規模機械学習プラットフォームの構築に参加。

特別トピック: データストレージとコンピューティング

Bytedance MapReduce -> Spark のスムーズな移行の実践

ビジネスの発展に伴い、ByteDance は毎日約 120 万の Spark ジョブをオンラインで実行していますが、対照的に毎日約 20,000 ~ 30,000 の MapReduce タスクがオンラインにあります。 MapReduce エンジンは長い歴史を持つバッチ処理フレームワークであるため、ビッグデータの研究開発の観点から運用保守には課題が山積しています。たとえば、フレームワーク更新反復の ROI が低い、新しいコンピューティング スケジューリング フレームワークへの適応性が低いなどです。ユーザーの観点から見ると、MapReduce エンジンを使用する場合には一連の問題もあります。たとえば、コンピューティングのパフォーマンスが低く、連続実行ジョブを管理するには追加のパイプライン ツールが必要ですが、Spark を移行したいと考えていますが、既存のジョブが多数あり、Spark 自体がサポートしていないさまざまなスクリプトが多数のジョブで使用されています。 。これに関連して、Bytedance Batch チームは、MapReduce タスクを Spark にスムーズに移行するためのソリューションを設計および実装しました。このソリューションにより、ユーザーは少数のパラメーターまたは環境変数を既存のジョブに追加するだけで、MapReduce から Spark へのスムーズな移行を完了できます。移行コストを大幅に削減し、優れたコストメリットを実現します。

魏仲佳

ByteDance インフラストラクチャ エンジニア

彼は 2018 年に ByteDance に入社し、現在 ByteDance インフラストラクチャのビッグデータ開発エンジニアとしてビッグデータ分散コンピューティングの分野に注力し、主に Spark カーネルの開発と ByteDance の自社開発 Shuffle サービスの開発を担当しています。

ByteDance の数千億ファイル HDFS クラスターの実践

ビッグデータテクノロジーの徹底的な発展に伴い、データの規模と使用方法はますます複雑になり、Apache HDFS は新たな課題に直面しています。 ByteDance では、HDFS は従来の Hadoop データ ウェアハウス ビジネスのストレージ、ストレージとコンピューティングの分離アーキテクチャ コンピューティング エンジンのベース、および機械学習モデル トレーニングのストレージ ベースです。 ByteDance では、HDFS は、複数のリージョンにわたる大規模なコンピューティング リソースのスケジューリングを提供するストレージ スケジューリング機能を構築し、コンピューティング タスクの安定性を向上させるだけでなく、ユーザー側のキャッシュ、従来の 3 つのコピー、そして保冷力。この共有では、ByteDance が新たなシナリオにおける従来のビッグ データ ストレージの新しい要件を内部でどのように理解し、技術の進化と運用保守システムの構築を通じてさまざまなシナリオでシステムの安定性をサポートしているかを紹介します。

シオン・ムー

火山エンジンビッグデータストレージ研究開発エンジニア

主にビッグ データ ストレージ HDFS メタデータ サービスの進化と上位層コンピューティングのエコロジカル サポートを担当します。

トピック: OLAP とデータ分析

Apache Calcite に基づくマルチエンジン指標管理のベスト プラクティス

トピックの紹介

データ分析にはさまざまな指標がありますが、大規模な指標を維持する場合、多くの場合次のような問題点があります。

  • 繰り返されるセグメントは再利用できません
  • エンジンが異なれば、異なる SQL を記述する必要があります
  • 口径の変更を下流全体に同期させるのは困難

これらの問題を解決するために、ByteDance は既存の技術能力を利用してソリューションを設計しようと試みました。

  • 可能な限りインジケーターを Hive テーブルに保存します。ストレージ コストとバックトラッキング コストが大幅に増加するため、現実的ではありません。
  • インジケーターを View にカプセル化する: Hive に追加のテーブル情報が生成され、テーブルの数が 2 倍になるだけでなく、パーティショニングのサポートにも不向きです。クエリの使用エクスペリエンスが低いため、プロモーションが困難

現在のテクノロジーでは上記の問題を解決するには十分ではないため、ByteDance は Apache Calcite に基づいて 2 つの新しい構文機能を設計および実装しました。

  • 仮想列: 列レベルのビュー、テーブル列権限の再利用、単純なプロモーション
  • SQL 定義関数: SQL を使用して関数を直接定義し、SQL フラグメントの再利用を容易にします。

これら 2 つの機能を組み合わせると、インジケーター管理のコストを効果的に削減できます。

  • インジケーターを変更する必要があるのは 1 回だけであり、ダウンストリームで同期的に変更する必要はありません。
  • MAP や JSON などのコレクション型のフィールドは仮想列として定義できるため、ロジックがより明確になり、使いやすくなります。

具体的な典型的なケースと実装原則は、スピーチ PPT で紹介されます。

謝佳軍

火山エンジン LAS シニア R&D エンジニア

Apache Asia Con 2022の講演に参加しました。私はオープンソースが大好きで、コミュニティ活動によく参加しており、現在は Apache Calcite のアクティブ コミッターであり、Linkedin Coral のコントリビューターでもあります。

ビッグデータキュー内の混合権限の洗練された管理の実践

背景:

近年、データセキュリティ問題は世界中の政府や企業の注目を徐々に集めており、国家データセキュリティ法や個人情報保護法の公布と施行に伴い、データの最低限度の原則に対する明確な要件が提示されています。したがって、アクセス許可をよりきめ細かく制御する方法は、すべての企業が解決しなければならない問題となっています。

現在の問題:

業界では通常、ルールに基づいて SQL で権限ポイントを抽出し、これらの権限ポイントを行次元に従って水平方向に、または列次元に従って垂直方向に管理します。

この 1 次元のアクセス許可制御の粒度は粗すぎるため、複数のアクセス許可間の結合関係をサポートできません。 ByteDance のような、複数のビジネスラインが統合された方法で格納される中段階の大規模テーブル シナリオでは、データのきめ細かいアクセス許可制御の要求を満たすことが困難です。

解決:

上記の問題に基づいて、ByteDance は、Apache Calcite と自社開発のパーミッション サービス Gemini に基づいた、行と列の混合パーミッションのための洗練された管理ソリューションを設計しました。

  • Calciteの血統に基づいた正確な権威点抽出

    • 血縁関係機能に基づいて、実際にSQLで使用される権限ポイント情報(テーブル、行、列など)を正確に特定し、洗練された権限抽出を実行します。
  • 行と列の混合権限による多次元の権限管理と制御

    • 従来のライブラリ権限、テーブル権限、列権限に加えて、新しい行制限権限が特別なリソースとしてテーブル権限/列権限に追加されます。
    • 各テーブル権限/列権限は同時に複数の行権限リソースにバンドルでき、異なるテーブル権限/列権限の行制限は互いに独立しています。
    • 水平/垂直アクセス許可ポイントのバンドルにより、クエリ リソースは行と行が重なる「リソース セル」上に配置され、よりきめ細かいリソース レベルのアクセス許可が実現されます。

ソリューションの利点:

  • 新しいソリューションでは、正確で細かい権限ポイントの抽出と多次元の行と列の混合権限サポートにより、リソースの管理と制御が、水平行または垂直列から、重なり合う優れた行を含む「リソース セル」にまで洗練されます。 。
  • 権限制御の範囲はさらに細分化され、ユーザーの通常の使用を保証しながら、必要な権限が最小の粒度で付与されます。
  • 具体的な典型的なケースと実装原則は、スピーチ PPT で紹介されます。

朱江

火山エンジン LAS シニア R&D エンジニア

トピック: クラウドネイティブ

ByteDance クラウドネイティブ YARN の実践

Bytedance の社内オフライン ビジネスは非常に規模が大きく、毎日数十万のノードと数百万のタスクがオンラインで実行されており、社内で使用されるリソースの量は数千万に達します。それぞれオフライン ビジネスとオンライン ビジネスのスケジュール管理を担当します。しかし、ビジネス規模の発展に伴い、このシステムはいくつかの欠点を明らかにしました。オフラインの 2 つのシステムに属し、一部の主要なアクティビティ シナリオでは、運用と保守によるオフラインでのリソースの変換が必要です。運用と保守の負担が大きく、変換サイクルが長くなります。 ; リソースプール 均一性が欠如しているため、全体的なリソース使用率が低くなり、クォータの管理と制御、マシンの運用とメンテナンスなどを再利用できなくなり、信頼性と安定性の分離など、クラウドネイティブのさまざまな利点を享受できなくなります。機能、便利な運用保守機能など。オフライン システムは早急に統合する必要があり、従来のビッグ データ エンジンはクラウド ネイティブ向けに設計されておらず、各コンピューティング エンジンとタスクをクラウド ネイティブに直接展開するのは困難であり、YARN に元々あったさまざまな機能をサポートするには徹底的な変革が必要です。変革の規模は大きい。この背景に基づいて、ByteDance は、Hadoop YARN プロトコルと 100% 互換性のあるクラウド ネイティブ YARN ソリューションを提案します。これは、Hadoop エコシステム内のビッグ データ ジョブを変更せずにクラウド ネイティブ システムおよびオンライン リソースに透過的に移行できます。オフライン リソースは、タイムシェアリング方式で効率的かつ柔軟に変換および再利用できるため、クラスター全体のリソース使用率が大幅に向上します。

シャオ・カイヤン

Volcano Engine クラウド ネイティブ コンピューティング R&D エンジニア

ByteDance インフラストラクチャにおけるオフライン スケジューリング関連の作業を担当しており、エンジニアリング アーキテクチャで長年の経験があります。

トピック: メッセージング システム

動物園飼育員のいないカフカ

現在、Kafka は ZooKeeper に依存して、ブローカー情報、トピック、パーティションなどのメタデータを保存します。 KRaft は、Zookeeper を使用しない新世代の Kafka です。この講義には次の内容が含まれます。

  1. Kafka が新しい KRaft 機能を開発する必要がある理由
  2. 古い (Zookeeper あり) Kafka と新しい (Zookeeper なし) Kafka のアーキテクチャ
  3. Kafka を採用するメリット
  4. 内部でどのように機能するか
  5. モニタリング指標
  6. Kafka の問題の解決に役立つツール
  7. これまでに達成したことを示すデモ
  8. KRaft に向けた Kafka コミュニティのロードマップ

この講演の後、聴衆は KRaft とは何か、KRaft がどのように機能するか、Zookeeper ベースの Kafka との違い、そして最も重要なことに KRaft を監視およびトラブルシューティングする方法についてより深く理解できるようになります。

ルーク・チェン

RedHat、シニア ソフトウェア エンジニア

RedHat のシニア ソフトウェア エンジニア。クラウド上での Apache Kafka 製品の実行に専念しています。 Apache Kafka コミッターであり PMC メンバーであり、3 年以上 Apache Kafka に貢献してきました。

鄧子明

ByteDance ビッグデータ R&D エンジニア、Apache Kafka コミッター

ブースのインタラクションがあなたのプレイを待っています

ByteDance Open Source はカンファレンス会場にインタラクティブなブースを設置し、ByteDance のオープンソース プロジェクトが展示され、参加者と交流します。敷地内には豊富なコミュニティ環境があるだけでなく、参加している友人もぜひチェックインしてください。

ByteDance オープンソースのパブリック アカウントをフォローすると、現場でサプライズがあるでしょう。

全スケジュールを表示: https://apachecon.com/acasia2023/en/tracks.html

仲間のニワトリがDeepin-IDE を 「オープンソース」化し、ついにブートストラップを達成しました。 いい奴だ、Tencent は本当に Switch を「考える学習機械」に変えた Tencent Cloud の 4 月 8 日の障害レビューと状況説明 RustDesk リモート デスクトップ起動の再構築 Web クライアント WeChat の SQLite ベースのオープンソース ターミナル データベース WCDB がメジャー アップグレードを開始 TIOBE 4 月リスト: PHPは史上最低値に落ち、 FFmpeg の父であるファブリス ベラールはオーディオ圧縮ツール TSAC をリリースし 、Google は大規模なコード モデル CodeGemma をリリースしました 。それはあなたを殺すつもりですか?オープンソースなのでとても優れています - オープンソースの画像およびポスター編集ツール
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/6210722/blog/10095491