[ 
https://issues.apache.org/jira/browse/ARROW-7744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17029327#comment-17029327
 ] 

Jacques Nadeau commented on ARROW-7744:
---------------------------------------

Given my previous experience with these APIs, I suggest you use Avatica as the 
basis for this rather than implementing by hand. I noticed you have done that 
yet. Was it something you considered?

> [Java] Implement Flight JDBC Driver
> -----------------------------------
>
>                 Key: ARROW-7744
>                 URL: https://issues.apache.org/jira/browse/ARROW-7744
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: Java
>            Reporter: Andy Grove
>            Assignee: Andy Grove
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.0.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> As a Java developer, I would like the ability to use JDBC to interact with 
> Flight servers. For example, there is now an example in the Arrow repo to run 
> a Flight server wrapping DataFusion and it supports executing SQL against CSV 
> and Parquet files. I would like to be able to call this from Java.
> A flight Arrow JDBC driver would also then simplify developing integrations 
> with other Apache projects, such as building a Spark V2 Data Source or a 
> Drill storage plugin. It would also be directly usable from many BI tools.
> I propose that the class name of the driver should be 
> "org.apache.arrow.jdbc.Driver" and the connection string should be 
> "jdbc:arrow://host:port?[properties]". I'm purposely leaving "flight" out of 
> these because I don't think it makes sense to support multiple protocols now 
> that we have flight and it is easier for users to remember "arrow" rather 
> than needing to know about the protocol. This is easy to change if there are 
> objections.
> JDBC is designed around sending queries as strings and then receiving 
> results. These strings could be SQL queries, JSON-encoded query plans, or 
> something else. The JDBC driver will not make any assumptions about the 
> format or dialect of these strings. Queries would be executed using the 
> "DoGet" method.
> The JDBC metadata functionality for reading schema information could possibly 
> use ListFlights but I haven't looked into this part yet.
> I do expect that this JDBC driver will serve as a base that could be extended 
> to add specific functionality for different Flight servers rather than 
> attempt to support them all.
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to