apache / apache/arrow-java

FlightSqlClient Java Example

Abierto
#204 1 comentario 0 reacciones 0 asignados Ver en GitHub
Type: usage
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

### Describe the usage question you have. Please include as many useful details as possible.

Hello,
I am trying to increase adoption of the Java FlightSqlClient by providing examples of how to connect to a server with it, execute a query, and return the result.
I’ve tried the following:

package com.example.helloworld;

// Import Apache Arrow Flight SQL classes
import org.apache.arrow.flight.*;
import org.apache.arrow.flight.sql.FlightSqlClient;
import org.apache.arrow.memory.BufferAllocator;
import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VectorSchemaRoot;
import io.grpc.Metadata;
import java.net.URI;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
String host = "us-east-1-1.aws.cloud2.influxdata.com";
String query = "SELECT * FROM \"airSensors\"";
Location location = Location.forGrpcInsecure(host, 443).forGrpcTls(host, 0);

// BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);

// FlightClient flightClient = FlightClient.builder().build();

CallHeaders headers = new FlightCallHeaders();
headers.insert("token", "xxx==");
headers.insert("bucket-name", "anais-iox");
HeaderCallOption headerOption = new HeaderCallOption(headers);
BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);

try {
client = FlightClient.builder()
.location(location)
.build();
System.out.println(client);
FlightSqlClient sqlClient = new FlightSqlClient(client);
System.out.println(sqlClient);
FlightInfo flightInfo = sqlClient.execute(query, headerOption);
FlightEndpoint endpoint = flightInfo.getEndpoints().get(0);
Ticket ticket = endpoint.getTicket();
System.out.println("Hello, World!");
} catch (Exception e) {
System.out.println("Error creating FlightClient: " + e.getMessage());
}

}
}
But I get Client cannot be null!

Additionally I’ve tried to pass in the allocator into the build method:

FlightClient client = FlightClient.builder(allocator, location).build();
But I’m not having success with that either.
Does anyone here have an example of how to use the FlightSqlClient? Or can identify what I’m doing wrong here? Thank you in advance for any pointers or help. I greatly appreciate it.

### Component(s)

Java

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con el uso de Java FlightClient.builder mostrado en el issue y, a continuación, sigue cómo se construye FlightSqlClient y cómo execute(query, headerOption) devuelve FlightInfo. Verifica el allocator, la ubicación, los headers y la inicialización del cliente en un ejemplo completo, y confirma que se conecta, ejecuta la consulta y devuelve el resultado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
documentation
Tipo de issue
Documentación
Dificultad
2/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.