Salut, je fais des expérimentations avec Drill pour un prototype, et cela fonctionne bien avec le mode "embedded". À l'heure actuelle, nous utilisons la dépendance Maven pour drill-jdbc-all
et JDBC avec:Démarrer le processus d'exploration apache avec Java API?
Class.forName("org.apache.drill.jdbc.Driver")
val conn = DriverManager.getConnection("jdbc:drill:drillbit=localhost:31010")
[...]
Je me demande s'il y a un moyen de démarrer une instance de forage directement en utilisant l'API java, sans qu'il soit nécessaire de le lancer à partir de la console? J'ai également essayé d'utiliser l'URL de connexion jdbc:drill:zk=local
, mais je n'arrive pas à trouver un moyen de démarrer un noeud local avec zookeeper. J'ai cherché sur le github, mais sans aucune chance.
Merci à l'avance pour toute suggestion
Vous recherchez une connexion jdbc via le quorum Zookeeper ou le démarrage d'un processus de drillbit réel (org.apache.drill.exec.server.Drillbit) en utilisant Java? Je ne sais pas s'il y a une API pour commencer le processus drillbit via java api. Une façon de faire est d'invoquer le script drillbit.sh avec les arguments nécessaires en utilisant des bibliothèques d'exécution ssh distantes comme JSch. – InfamousCoconut
Pour le moment, je lance l'instruction intégrée via la ligne de commande, puis je me connecte via JDBC par mon programme Java (en fait Scala), et cela fonctionne. Pour autant que je sache que la ligne de commande est une version de sqline, alors je suppose qu'elle initialise une instance de drillbit, puis travaille avec elle, cela devrait être un moyen de le faire par Java, je suppose. L'idée est d'essayer d'utiliser une bibliothèque intégrée en évitant les services externes, donc j'essaye d'éviter zookeeper pour le moment, mais s'il y a un moyen par exemple de lancer un zookeeper intégré cela devrait être bon pour moi aussi. –