Entraînez-vous à l'iceberg du lac de données Leçon 32 Énoncé DDL via la méthode de persistance du catalogue Hive

Répertoire des articles de la série

Pratiquer Data Lake iceberg Leçon 1 Mise en route
Pratiquer Data Lake iceberg Leçon 2 Iceberg est basé sur le format de données sous-jacent de hadoop
Pratiquer data lake
iceberg Dans sqlclient, utiliser SQL pour lire des données de Kafka à iceberg (mettre à niveau la version vers flink1.12.7)
pratiquer data lake iceberg Leçon 5 caractéristiques du catalogue de la ruche
pratiquer les données lac iceberg Leçon 6 écrire de kafka à l'échec de l'iceberg résolution de problèmes
pratiquer les données lac iceberg Leçon 7 écrire sur l'iceberg
pratiquer les données lac iceberg en temps réel Leçon 8 intégration de la ruche et de l'iceberg
pratiquer les données lac iceberg Leçon 9 fusionner petit fichiers
pratique data lake iceberg Leçon 10 snapshot delete
pratique data lake iceberg Leçon 11 tester l'intégrité de la table de partition Processus (création de nombres, création de tables, fusion et suppression d'instantanés)
Pratique data lake iceberg Leçon 12 Qu'est-ce qu'un catalogue
Pratique data lake iceberg Leçon 13 Métadonnées est plusieurs fois plus volumineux que les fichiers de données Pratiquez l'iceberg du
lac de données Leçon 14 Fusion de données (pour résoudre le problème de l'expansion des métadonnées au fil du temps) reconnaissance de l'iceberg grâce à la porte spark3


Entraînez-vous à l'iceberg du lac de données Leçon 17 Hadoop2.7, spark3 sur la configuration de l'iceberg de la course de fils Entraînez-vous à l'
iceberg du lac de données Leçon 18 Plusieurs clients interagissent avec les commandes de démarrage de l'iceberg (commandes couramment utilisées) Entraînez-vous à l'
iceberg du lac de données Leçon 19 iceberg de nombre de clignotements , aucun problème de résultat
pratiquez le lac de données iceberg Leçon 20 flink + iceberg Scénario CDC (problème de version, test échoué)
pratique data lake iceberg Leçon 21 flink1.13.5 + iceberg0.131 CDC (test réussi INSERT, opération de modification échouée)
Practice data lake iceberg Leçon 22 flink1.13.5 + iceberg0. 131 CDC (test CRUD réussi)
données de pratique lac iceberg Leçon 23 redémarrage de flink-sql
données de pratique lac iceberg à partir du point de contrôle Leçon 24 détails des métadonnées de l'iceberg Analyse
de la pratique données lac iceberg Leçon 25 Exécution de flink sql en arrière-plan L'effet de l'ajout, de la suppression et de la modification
Entraînez-vous à l'iceberg du lac de données Leçon 26 Méthode de configuration des points de contrôle Entraînez-vous à l'iceberg du lac de données Leçon 27 Redémarrage du
programme de test Flink cdc: peut redémarrer à partir du dernier point de contrôle pour continuer à travailler
entrepôt
pratique data lake iceberg Leçon 29 comment obtenir flink jobId élégamment et efficacement
pratiquer data lake iceberg leçon 30 mysql -> iceberg, différents clients ont parfois des problèmes de zone
Entraînez-vous à l'iceberg du lac de données Leçon 31 utilisez l'outil flink-streaming-platform-web de github pour gérer le flux de tâches flink, testez le scénario de redémarrage cdc pratiquez le lac de données iceberg leçon 32 Instruction DDL pratiquez le lac de données
via la méthode de persistance du catalogue de ruche



avant-propos

Problème : sur le client sql de flink, la création d'une table n'est utile que pour la session en cours. Lorsque vous quittez la session, vous devez recréer la table. Il est très gênant pour beaucoup de personnes de partager une table, que puis-je faire ?
Solution : Persistez l'opération DDL de création de table sur HIVE, et Hive la gérera. Comment? Utilisez le catalogue de la ruche pour créer des tables sous le catalogue de la ruche. Toutes les tables sont persistantes.
Description du site officiel : https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/hive/hive_catalog/


1. Catalogue de ruche de configuration du client Flink

1. Paramétrage spécifique

Ajoutez le fichier de configuration sql-client-defaults.yaml sous $FLNK_HOME/conf.
Voici comment configurer le catalogue et la base de données par défaut :

[root@hadoop101 conf]# cat sql-client-defaults.yaml 
execution:
    planner: blink
    type: streaming
    current-catalog: myhive  # set the HiveCatalog as the current catalog of the session
    current-database: mydatabase
    
catalogs:
   - name: myhive
     type: hive
     hive-conf-dir: /opt/module/hive/conf

Créez d'abord cette base de données via hive :

hive (default)> create database mydatabase;
OK
Time taken: 1.079 seconds

2. Entrez à nouveau le client et observez les modifications du catalogue

entrer sql-client

Flink SQL> show current catalog;
+----------------------+
| current catalog name |
+----------------------+
|               myhive |
+----------------------+
1 row in set



Flink SQL> show current database;
+-----------------------+
| current database name |
+-----------------------+
|            mydatabase |
+-----------------------+
1 row in set

3. Créez un tableau et observez l'effet de persistance du catalogue sur le tableau

CREATE TABLE IF NOT EXISTS KafkaTableSource (
  `log` STRING
) WITH (
  'connector' = 'kafka',
  'topic' = 'test1',
  'properties.bootstrap.servers' = 'hadoop101:9092,hadoop102:9092,hadoop103:9092',
  'properties.group.id' = 'testGroup',
  'scan.startup.mode' = 'earliest-offset',
  'format' = 'raw'
);
Flink SQL> CREATE TABLE IF NOT EXISTS KafkaTableSource (
>   `log` STRING
> ) WITH (
>   'connector' = 'kafka',
>   'topic' = 'test1',
>   'properties.bootstrap.servers' = 'hadoop101:9092,hadoop102:9092,hadoop103:9092',
>   'properties.group.id' = 'testGroup',
>   'scan.startup.mode' = 'earliest-offset',
>   'format' = 'raw'
> );
[INFO] Execute statement succeed.

Sortir et rentrer dans le client

Flink SQL> show tables;
+------------------+
|       table name |
+------------------+
| kafkatablesource |
+------------------+

1 rangée dans l'ensemble

Résumer

Ce qui précède présente la persistance de la table DDL via HIVE CATALOG, et présente comment sql-client configure le catalogue par défaut,
puis comment utiliser sql pour définir un nouveau catalogue ? Le catalogue iceberg a déjà été configuré et comment en configurer un commun ?

おすすめ

転載: blog.csdn.net/spark_dev/article/details/124630075