Créer une table
host:port— Adresse du serveur Arrow Flight distant. Si le port n’est pas renseigné, le port par défaut8815est utilisé. String.dataset_name— Identifiant du jeu de données sur le serveur Flight (utilisé comme descripteur PATH ou dans une requêteSELECT *, selon le paramètrearrow_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.
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
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) oucommand(l’envoie sous forme de descripteur CMD avecSELECT * FROM <dataset>). Utilisezcommandpour les serveurs Flight qui attendent des commandes SQL (par exemple, Dremio).arrow_flight_request_timeout_sec— Délai d’expiration, en secondes, d’une requête Arrow Flight individuelle,300par défaut. Il s’applique à l’ensemble de la requête : pour unSELECT, il couvre la totalité du flux de résultats, et pas seulement l’attente du premier lot d’enregistrements.0désactive le délai d’expiration ; dans ce cas, un serveur Flight qui accepte une requête sans jamais y répondre bloque la requête jusqu’à la fermeture de la connexion.
Exemple d’utilisation
Lecture de données depuis 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_typedétermine si le nom du jeu de données est envoyé sous forme de descripteur PATH ou de descripteur CMD encapsulant une requêteSELECT *.