Plus de dix discours de ByteDance réunis à CommunityOverCode Asia 2023 pour partager les pratiques open source

18-20 août 2023, Park Plaza Hotel, Pékin

Le premier sommet hors ligne en Chine de la série mondiale officielle de conférences de l'Apache Software Foundation, CommunityOverCode Asia (anciennement ApacheCon Asia), se tiendra à l'hôtel Park Plaza à Pékin du 18 au 20 août 2023. La conférence comprendra 17 directions de forum et des centaines de problèmes de pointe.

L'expérience open source de ByteDance est passée par différentes étapes : « utiliser l'open source, participer à l'open source et prendre l'initiative d'ouvrir l'open source ». Son attitude envers l'open source a toujours été ouverte et encourageante. Lors de ce sommet CommunityOverCode Asia, 15 étudiants de Byte partageront l'expérience pratique des projets open source Apache dans les activités de ByteDance autour de 10 sujets répartis en 6 sujets, et le membre Apache Calcite PMC partagera le discours d'ouverture. J'ai hâte de partager mes expériences et mes gains. de participer à des contributions open source avec des participants sur place.

Discours d'ouverture : Est-il difficile de contribuer à l'open source ?

Peut-être que de nombreux étudiants ont pensé à participer à certaines contributions open source pour améliorer leurs capacités techniques et leur influence. Mais il y a généralement une certaine distance entre les idéaux et la réalité : parce que je suis trop occupé au travail et que je n'ai pas le temps de participer ; le seuil pour les projets open source est trop élevé et je ne sais pas par où commencer, j'ai essayé certaines contributions ; , mais la réponse de la communauté n'est pas élevée et je n'ai pas persisté. Dans ce discours, Li Benchao combinera sa propre expérience pour partager quelques histoires courtes et réflexions sur sa contribution à la communauté open source, comment surmonter ces difficultés, réaliser enfin des percées dans la communauté open source et trouver un équilibre entre le travail et l'open source. apport des sources.

Li Benchao

Directeur technique SQL de ByteDance Flink

Membre d'Apache Calcite PMC, Apache Flink Committer, diplômé de l'Université de Pékin, travaille actuellement dans l'équipe de calcul de streaming ByteDance et est le leader technique de Flink SQL.

Discours programmé

Sujet : Lacs de données et entrepôts de données

La pratique de création d'un lac de données en temps réel basé sur Flink

Les lacs de données en temps réel constituent un élément essentiel de l'architecture de données moderne, permettant aux entreprises d'analyser et d'interroger de grandes quantités de données en temps réel. Dans ce partage, nous présenterons d'abord les problèmes actuels des lacs de données en temps réel, tels que la grande actualité, la diversité, la cohérence et l'exactitude des données. Ensuite, nous présenterons comment construire un lac de données en temps réel basé sur Flink et Iceberg, principalement à travers les deux parties suivantes : comment mettre des données dans le lac en temps réel et comment utiliser Flink pour effectuer des requêtes ad hoc OLAP. Enfin, présentons quelques avantages pratiques de ByteDance dans un lac de données en temps réel.

Wang Zheng

Ingénieur R&D Volcano Engine Cloud Native Computing

A rejoint ByteDance en 2021 et a travaillé dans l'équipe de plateforme ouverte d'infrastructure, principalement responsable de la recherche et du développement de Serverless Flink et d'autres directions.

Min Zhongyuan

Ingénieur R&D Volcano Engine Cloud Native Computing

A rejoint ByteDance en 2021 et travaille dans l'équipe de plateforme ouverte d'infrastructure, principalement responsable de la recherche et du développement de Serverless Flink, Flink OLAP et d'autres directions.

Pratique de ByteDance en matière de réduction des coûts et d'amélioration de l'efficacité basée sur le format Parquet

L'entrepôt de données hors ligne ByteDance utilise par défaut le format Parquet pour le stockage des données. Cependant, lors d'une utilisation professionnelle, nous avons rencontré des problèmes connexes tels qu'un trop grand nombre de petits fichiers et des coûts de stockage de données élevés. Pour résoudre le problème du trop grand nombre de petits fichiers, la solution technique existante consiste généralement à lire plusieurs petits fichiers Parquet via Spark, puis à rééditer les données et à les fusionner en un ou plusieurs gros fichiers. Pour le problème des coûts de stockage excessifs, les entrepôts de données actuellement hors ligne ne disposent que de solutions TTL au niveau de la ligne si vous devez supprimer des données de champ détaillées (TTL au niveau de la colonne) qui ne sont plus utilisées dans la partition et représentent une grande quantité. proportion, vous devez lire les données via Spark et écraser les champs qui doivent être supprimés en les définissant sur NULL. Qu'il s'agisse de fusion de petits fichiers ou de TTL au niveau des colonnes, il existe un grand nombre d'opérations d'écrasement sur les fichiers de données Parquet. Étant donné que le format Parquet a des règles de codage spéciales, une série d'opérations telles qu'une (dé)sérialisation spéciale, une (dé)compression et un (dé)codage sont nécessaires pour lire et écrire des données dans Parquet. Dans ce processus, les opérations telles que l'encodage, le décodage et la décompression sont des calculs gourmands en CPU qui consomment une grande quantité de ressources informatiques. Afin d'améliorer l'efficacité de l'écrasement des fichiers au format Parquet, nous avons étudié en profondeur la définition du format de fichier Parquet et utilisé la méthode de copie binaire pour optimiser l'opération d'écrasement des données, en sautant les opérations redondantes telles que l'encodage et le décodage lors de l'écrasement ordinaire. L'efficacité de l'écrasement des fichiers est grandement améliorée et les performances sont 10 fois supérieures à celles des méthodes d'écrasement ordinaires. Afin d'améliorer la facilité d'utilisation, nous fournissons également une nouvelle syntaxe SQL pour aider les utilisateurs à effectuer facilement des opérations telles que la fusion de petits fichiers et le TTL au niveau des colonnes.

Xu Qing

Volcano Engine LAS Ingénieur R&D Senior

Il est engagé dans la recherche et le développement de composants liés au Big Data tels que Hive Metastore, SparkSQL, Hudi, etc. depuis de nombreuses années.

Wang Ence

Volcano Engine LAS Ingénieur R&D Senior

Responsable de la conception et du développement du moteur informatique distribué Big Data de ByteDance, aidant l'entreprise à extraire des informations de grande valeur à partir de données massives.

Sujet : Intelligence artificielle/apprentissage automatique

Pratique de formation intégrée par flux par lots d'apprentissage profond ByteDance

Avec le développement des activités de l'entreprise, la complexité des algorithmes continue d'augmenter et de plus en plus de modèles d'algorithmes explorent la formation en temps réel basée sur des mises à jour hors ligne pour améliorer les effets du modèle. Afin d'obtenir un arrangement flexible et une commutation libre de formations complexes hors ligne et en temps réel, et de planifier des ressources informatiques hors ligne dans une gamme plus large, la formation des modèles d'apprentissage automatique tend progressivement à intégrer le batch et le flux. Cette fois, nous partagerons l'apprentissage automatique ByteDance. planification de la formation Certains contenus incluent l'évolution architecturale du framework, la pratique de l'intégration de flux par lots, la formation élastique hétérogène, etc. Il se concentre également sur l'expérience pratique de l'orchestration hybride multi-sources de données en plusieurs étapes, du mélange global d'échantillons en streaming, de la nativeisation de lien complet et des informations sur les données de formation dans le scénario MFTC (formation collaborative intégrée par lots).

Mao Hongyue

Ingénieur infrastructure ByteDance

Il a rejoint ByteDance en 2022 et est engagé dans la recherche et le développement en matière de formation en apprentissage automatique. Il est principalement responsable du moteur de formation de modèles d'IA intégré à grande échelle dans le cloud et par lots, qui prend en charge des entreprises telles que la recommandation vidéo Douyin, la recommandation Toutiao, la publicité sur les pangolins, Publicité graphique Qianchuan et autres entreprises.

ByteDance Spark prend en charge la pratique d'inférence de modèle Wanka

Avec le développement des activités de l'entreprise, la complexité des algorithmes continue d'augmenter et de plus en plus de modèles d'algorithmes explorent la formation en temps réel basée sur des mises à jour hors ligne pour améliorer les effets du modèle. Afin d'obtenir un arrangement flexible et une commutation libre de formations complexes hors ligne et en temps réel, et de planifier des ressources informatiques hors ligne dans une gamme plus large, la formation des modèles d'apprentissage automatique tend progressivement à intégrer le batch et le flux. Cette fois, nous partagerons l'apprentissage automatique ByteDance. planification de la formation Certains contenus incluent l'évolution architecturale du framework, la pratique de l'intégration de flux par lots, la formation élastique hétérogène, etc. Il se concentre également sur l'expérience pratique de l'orchestration hybride multi-sources de données en plusieurs étapes, du mélange global d'échantillons en streaming, de la nativeisation de lien complet et des informations sur les données de formation dans le scénario MFTC (formation collaborative intégrée par lots).

Liu Chang

Ingénieur infrastructure ByteDance

A rejoint ByteDance en 2020 et travaille dans l'équipe de calcul par lots d'infrastructure. Il est principalement responsable du développement de Spark cloud native et de Spark On Kubernetes.

Zhang Yongqiang

Ingénieur système d'apprentissage automatique ByteDance

A rejoint ByteDance en 2022, a travaillé au sein de l'équipe du système d'apprentissage automatique AML et a participé à la création d'une plateforme d'apprentissage automatique à grande échelle.

Sujet spécial : Stockage de données et informatique

Bytedance MapReduce -> Pratique de migration fluide de Spark

Avec le développement de l'activité, ByteDance exécute environ 1,2 million de tâches Spark en ligne chaque jour. En revanche, il y a encore environ 20 000 à 30 000 tâches MapReduce en ligne chaque jour. En tant que cadre de traitement par lots avec une longue histoire, le fonctionnement et la maintenance du moteur MapReduce sont confrontés à une série de problèmes du point de vue de la recherche et du développement du Big Data. Par exemple, le retour sur investissement de l'itération de mise à jour du framework est faible, l'adaptabilité au nouveau framework de planification informatique est faible, etc. Du point de vue de l'utilisateur, il existe également une série de problèmes lors de l'utilisation du moteur MapReduce. Par exemple, les performances informatiques sont médiocres et des outils Pipeline supplémentaires sont nécessaires pour gérer les tâches exécutées en série. Vous souhaitez migrer Spark, mais il existe un grand nombre de tâches existantes et un grand nombre de tâches utilisent divers scripts que Spark lui-même ne prend pas en charge. . Dans ce contexte, l'équipe Bytedance Batch a conçu et mis en œuvre une solution pour migrer en douceur les tâches MapReduce vers Spark. Cette solution permet aux utilisateurs de réaliser la migration en douceur de MapReduce vers Spark en ajoutant seulement un petit nombre de paramètres ou de variables d'environnement aux tâches existantes. réduisant considérablement les coûts de migration et obtenant de bons avantages en termes de coûts.

Wei Zhongjia

Ingénieur infrastructure ByteDance

Il a rejoint ByteDance en 2018 et est actuellement ingénieur en développement Big Data pour l'infrastructure ByteDance. Il se concentre sur le domaine de l'informatique distribuée Big Data et est principalement responsable du développement du noyau Spark et du développement du service Shuffle auto-développé par ByteDance.

Pratique du cluster HDFS de centaines de milliards de fichiers de ByteDance

Avec le développement en profondeur de la technologie Big Data, l'échelle des données et la complexité de leur utilisation sont de plus en plus élevées, et Apache HDFS est confronté à de nouveaux défis. Chez ByteDance, HDFS est le stockage pour les activités traditionnelles d'entrepôt de données Hadoop, la base des moteurs informatiques de l'architecture de stockage et de séparation informatique, et la base de stockage pour la formation des modèles d'apprentissage automatique. Dans ByteDance, HDFS construit non seulement des capacités de planification du stockage pour servir la planification des ressources informatiques à grande échelle dans plusieurs régions et améliore la stabilité des tâches informatiques ; il fournit également l'identification des données et la planification à chaud et à froid qui intègre le cache côté utilisateur, les trois copies conventionnelles, et capacité de stockage au froid. Ce partage présente comment ByteDance comprend en interne les nouvelles exigences du stockage Big Data traditionnel dans des scénarios émergents et prend en charge la stabilité du système dans différents scénarios grâce à l'évolution technologique et à la construction de systèmes d'exploitation et de maintenance.

Xiong Mu

Ingénieur R&D Volcano Engine Stockage Big Data

Principalement responsable de l'évolution des services de métadonnées HDFS de stockage de big data et du support écologique informatique de couche supérieure.

Sujet : OLAP et analyse de données

Bonnes pratiques pour la gestion des indicateurs multi-moteurs basés sur Apache Calcite

Introduction au sujet

Il existe différents indicateurs dans l'analyse des données. Lors du maintien d'indicateurs massifs, les problèmes suivants surviennent souvent :

  • Les segments répétés ne peuvent pas être réutilisés
  • Différents moteurs nécessitent l'écriture de SQL différents
  • Les changements de calibre sont difficiles à synchroniser avec tous les avals

Afin de résoudre ces problèmes, ByteDance a essayé d'utiliser les capacités techniques existantes pour concevoir des solutions :

  • Stocker au maximum les indicateurs dans les tables Hive : cela augmentera considérablement les coûts de stockage et les coûts de backtracking, ce qui n'est pas réalisable
  • Encapsuler des indicateurs dans View : non seulement cela générera des informations de table supplémentaires dans Hive, doublant ainsi le nombre de tables, mais il sera également peu convivial de prendre en charge le partitionnement. L'expérience d'utilisation des requêtes est médiocre, il est donc difficile de la promouvoir

Parce que la technologie actuelle n'est pas suffisante pour résoudre les problèmes ci-dessus, ByteDance a conçu et implémenté deux ensembles de nouvelles fonctionnalités syntaxiques basées sur Apache Calcite :

  • Colonnes virtuelles : vues au niveau des colonnes, réutilisation des autorisations de colonne de table, promotion simple
  • Fonction de définition SQL : utilisez SQL pour définir directement des fonctions afin de faciliter la réutilisation des fragments SQL.

La combinaison de ces deux fonctionnalités peut réduire efficacement le coût de gestion des indicateurs. Par exemple :

  • L'indicateur ne doit être modifié qu'une seule fois, et il n'est pas nécessaire de le modifier de manière synchrone en aval.
  • Les champs des types de collection tels que MAP et JSON peuvent être définis comme des colonnes virtuelles, ce qui rend la logique plus claire et plus pratique à utiliser.

Des cas typiques spécifiques et des principes de mise en œuvre seront introduits dans le discours PPT.

Xie Jiajun

Volcano Engine LAS Ingénieur R&D Senior

Participation à un discours à l'Apache Asia Con 2022. J'adore l'open source et je participe souvent au travail communautaire. Je suis maintenant un contributeur actif d'Apache Calcite et un contributeur Linkedin Coral.

Pratique d'une gestion affinée des autorisations mixtes dans les files d'attente Big Data

arrière-plan:

Ces dernières années, les questions de sécurité des données ont progressivement attiré l'attention des gouvernements et des entreprises du monde entier. Avec la promulgation et la mise en œuvre de lois nationales sur la sécurité des données et de lois sur la protection des informations personnelles, des exigences claires ont été proposées concernant le principe de suffisance minimale des données. Par conséquent, comment contrôler les autorisations de manière plus fine est devenu un problème que chaque entreprise doit résoudre.

Questions d'actualité:

L'industrie extrait généralement les points d'autorisation dans SQL en fonction de règles et gère ces points d'autorisation horizontalement en fonction de la dimension de la ligne ou verticalement en fonction de la dimension de la colonne.

Cette granularité de contrôle des autorisations unidimensionnelle est trop grossière et ne peut pas prendre en charge la relation combinée entre plusieurs autorisations. Dans un scénario de grande table à mi-étape comme ByteDance, où plusieurs secteurs d'activité sont stockés de manière unifiée, il est difficile de répondre à la demande de contrôle précis des autorisations des données.

solution:

Sur la base des problèmes ci-dessus, ByteDance a conçu une solution de gestion raffinée pour les autorisations mixtes dans les lignes et les colonnes, basée sur Apache Calcite et son service d'autorisations auto-développé Gemini.

  • Extraction précise de points d'autorité basée sur la lignée Calcite

    • Basé sur la capacité de parenté, il localise avec précision les informations de point d'autorisation (table, ligne, colonne, etc.) réellement utilisées dans SQL et effectue une extraction affinée des autorisations.
  • Gestion et contrôle des autorisations multidimensionnelles avec autorisations mixtes dans les lignes et les colonnes

    • En plus des autorisations de bibliothèque, de table et de colonne traditionnelles, une nouvelle autorisation de restriction de ligne est ajoutée. Les autorisations de ligne peuvent être attachées aux autorisations de table/colonne en tant que ressource spéciale.
    • Chaque autorisation de table/autorisation de colonne peut être regroupée avec plusieurs ressources d'autorisation de ligne en même temps, et les restrictions de ligne des différentes autorisations de table/autorisations de colonne sont indépendantes les unes des autres.
    • Grâce au regroupement de points d'autorisation horizontaux/verticaux, les ressources de requête sont positionnées sur les « cellules de ressources » avec des lignes et des lignes qui se chevauchent pour obtenir des autorisations plus fines au niveau des ressources.

Avantages de la solution :

  • Dans le cadre de la nouvelle solution, grâce à une extraction précise des points d'autorisation et à la prise en charge des autorisations mixtes multidimensionnelles de lignes et de colonnes, la gestion et le contrôle des ressources sont affinés d'une ligne horizontale ou d'une colonne verticale à des « cellules de ressources » avec des lignes et des lignes supérieures qui se chevauchent. .
  • La portée du contrôle des autorisations est encore affinée et les autorisations requises sont accordées avec la plus petite granularité tout en garantissant une utilisation normale des utilisateurs.
  • Des cas typiques spécifiques et des principes de mise en œuvre seront introduits dans le discours PPT.

Zhu Jiang

Volcano Engine LAS Ingénieur R&D Senior

Sujet : Cloud natif

Pratique YARN native de ByteDance Cloud

Les activités hors ligne internes de Bytedance ont une échelle énorme. Des centaines de milliers de nœuds et des millions de tâches sont exécutées en ligne chaque jour, et la quantité de ressources utilisées chaque jour atteint des dizaines de millions. En interne, le système de planification hors ligne et le système de planification en ligne sont. respectivement responsable de la gestion des activités hors ligne et de la planification des activités en ligne. Cependant, avec le développement de l'entreprise, ce système a révélé certaines lacunes : il appartient à deux systèmes hors ligne et certains scénarios d'activité majeurs nécessitent une conversion de ressources hors ligne via l'exploitation et la maintenance. La charge d'exploitation et de maintenance est lourde et le cycle de conversion est long. ; Pool de ressources Le manque d'uniformité rend le taux d'utilisation global des ressources faible, et la gestion et le contrôle des quotas, l'exploitation et la maintenance des machines, etc. ne peuvent pas être réutilisés. Les opérations Big Data ne peuvent pas bénéficier des divers avantages du cloud natif, tels qu'une isolation fiable et stable ; capacités, capacités d'exploitation et de maintenance pratiques, etc. Les systèmes hors ligne doivent être unifiés de toute urgence, et les moteurs Big Data traditionnels ne sont pas conçus pour le cloud natif et sont difficiles à déployer directement sur le cloud natif. Chaque moteur et tâche informatique nécessitent une transformation en profondeur pour prendre en charge diverses fonctionnalités initialement sur YARN, ainsi que le coût. de transformation est énorme. Sur la base de ce contexte, ByteDance propose une solution YARN cloud native - Serverless YARN, qui est 100 % compatible avec le protocole Hadoop YARN. Les tâches Big data de l'écosystème Hadoop peuvent être migrées de manière transparente vers des systèmes cloud natifs sans modification et des ressources en ligne. et Les ressources hors ligne peuvent être converties et réutilisées de manière efficace et flexible en temps partagé, et l'utilisation globale des ressources du cluster est considérablement améliorée.

Shao Kaiyang

Ingénieur R&D Volcano Engine Cloud Native Computing

Responsable des travaux liés à la planification hors ligne dans l'infrastructure ByteDance et possède de nombreuses années d'expérience en architecture d'ingénierie.

Sujet : Système de messagerie

Kafka sans gardien de zoo

Actuellement, Kafka s'appuie sur ZooKeeper pour stocker ses métadonnées, telles que les informations sur les courtiers, les sujets, les partitions, etc. KRaft est une nouvelle génération de Kafka sans Zookeeper. Cette conférence comprendra :

  1. Pourquoi Kafka doit développer de nouvelles fonctionnalités KRaft
  2. Architecture de l'ancien (avec Zookeeper) Kafka et du nouveau (sans Zookeeper) Kafka
  3. Avantages d’adopter Kafka
  4. comment ça marche en interne
  5. Indicateurs de suivi
  6. Outils pour aider à résoudre les problèmes de Kafka
  7. Une démo pour montrer ce que nous avons réalisé jusqu'à présent
  8. Feuille de route de la communauté Kafka vers KRaft

Après cette conférence, le public comprendra mieux ce qu'est KRaft, comment il fonctionne, en quoi il diffère de Kafka basé sur Zookeeper et, plus important encore, comment le surveiller et le dépanner.

Luc Chen

RedHat, ingénieur logiciel senior

Ingénieur logiciel senior chez RedHat, dédié à l'exécution des produits Apache Kafka sur le cloud. Apache Kafka Committer et membre PMC, contribue à Apache Kafka depuis plus de 3 ans.

Deng Ziming

Ingénieur R&D Big Data ByteDance, commissaire Apache Kafka

L'interaction du stand vous attend pour jouer

ByteDance Open Source installera un stand interactif sur le site de la conférence, où les projets open source de ByteDance seront exposés et interagiront avec les participants. Il y a non seulement un environnement communautaire riche sur le site, mais également divers liens interactifs. Les amis qui participent sont invités à s'enregistrer ~.

Suivez le compte public open source ByteDance , il y aura des surprises sur place !

Consultez le programme complet : https://apachecon.com/acasia2023/en/tracks.html

Un camarade de poulet "open source" deepin-IDE et a finalement réalisé l'amorçage ! Bon gars, Tencent a vraiment transformé Switch en une « machine d'apprentissage pensante » Examen des échecs de Tencent Cloud le 8 avril et explication de la situation Reconstruction du démarrage du bureau à distance RustDesk Client Web La base de données de terminal open source de WeChat basée sur SQLite WCDB a inauguré une mise à niveau majeure Liste d'avril TIOBE : PHP est tombé à un plus bas historique, Fabrice Bellard, le père de FFmpeg, a sorti l'outil de compression audio TSAC , Google a sorti un gros modèle de code, CodeGemma , est-ce que ça va vous tuer ? C'est tellement bon qu'il est open source - outil d'édition d'images et d'affiches open source
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/6210722/blog/10095491
conseillé
Classement