Passer au contenu principal
Le moteur de table ArrowFlight permet à ClickHouse de lire des jeux de données distants et d’y écrire via le protocole Apache Arrow Flight. Cette intégration permet à ClickHouse d’interagir avec des serveurs externes compatibles avec Flight dans un format Arrow colonnaire, avec des performances élevées.

Créer une table

Paramètres du moteur
  • host:port — Adresse du serveur Arrow Flight distant. Si le port n’est pas renseigné, le port par défaut 8815 est utilisé. String.
  • dataset_name — Identifiant du jeu de données sur le serveur Flight (utilisé comme descripteur PATH ou dans une requête SELECT *, selon le paramètre arrow_flight_request_descriptor_type). String.
  • username — Nom d’utilisateur pour l’authentification HTTP basique. String.
  • password — Mot de passe pour l’authentification HTTP basique. String.
Si username et password ne sont pas renseignés, l’authentification n’est pas utilisée (cela fonctionne uniquement si le serveur Arrow Flight autorise l’accès sans authentification). La liste des colonnes est facultative : si elle n’est pas renseignée, le schéma est inféré à partir du serveur Arrow Flight distant via GetSchema.

Collections nommées

Le moteur prend en charge les collections nommées pour stocker des paramètres de connexion :
Paramètres de la collection nommée :

Paramètres

  • arrow_flight_request_descriptor_type — Contrôle la façon dont le nom du jeu de données est envoyé au serveur Flight. Valeurs possibles : path (par défaut, l’envoie sous forme de descripteur PATH) ou command (l’envoie sous forme de descripteur CMD avec SELECT * FROM <dataset>). Utilisez command pour les serveurs Flight qui attendent des commandes SQL (par exemple, Dremio).

Exemple d’utilisation

Lecture de données depuis un serveur Arrow Flight distant :
Insertion de données dans un serveur Arrow Flight distant :

Remarques

  • Si des colonnes sont spécifiées dans l’instruction CREATE TABLE, elles doivent correspondre au schéma renvoyé par le serveur Flight.
  • Si les colonnes sont omises, le schéma est déduit automatiquement depuis le serveur distant.
  • La lecture (SELECT) et l’écriture (INSERT) sont toutes deux prises en charge.
  • Le paramètre arrow_flight_request_descriptor_type détermine si le nom du jeu de données est envoyé sous forme de descripteur PATH ou de descripteur CMD encapsulant une requête SELECT *.

Voir aussi

Dernière modification le 1 juillet 2026