-
Notifications
You must be signed in to change notification settings - Fork 18
BigQuery TAP support #172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
BigQuery TAP support #172
Conversation
Can you also add this to the Below cadc-tap-server-oracle (which I just fixed so you will need to pull main) and in that same style. We haven't got to it yet in tap.git (technical debt), but in many repos we also run the
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments on the build
Hi @pdowler - is there anything else needed on this PR? I believe the build steps were addressed. |
I started reviewing the details but got side tracked. The ball is in my
court now.
…--
Patrick Dowler
Canadian Astronomy Data Centre
Victoria, BC, Canada
On Thu, 6 Feb 2025 at 06:09, dspeck1 ***@***.***> wrote:
Hi @pdowler <https://github.com/pdowler> - is there anything else needed
on this PR? I believe the build steps were addressed.
—
Reply to this email directly, view it on GitHub
<#172 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADIEM7U4DPJHGOVY72DRWED2ONULHAVCNFSM6AAAAABNXAPIMWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMZZHEZTIMJWGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@@ -0,0 +1,3 @@ | |||
# cadc-tap-server-bigquery 1.0.0 | |||
|
|||
Offers BigQuery support to handle datatype conversions in ADQL. No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add some details here to help a developer that wants to build a service using the library and a BigQuery backend?
What JDBC driver do they need to install and configure? (preferrably: class name and maven dependency info to add as a runtime dependency)
Do they put the tap_schema tables and content into BigQuery or a side db? (cadc-tap-server does not currently support them being in separate DBs but we are working on that)
Is it expected to support the optional TAP UPLOAD feature? without a custom ca.nrc.cadc.tap.db.DatabaseDataType
it seems like that won't work (at least for all data types)
It looks like this is the ADQL -> {big query dialect} conversion. Even for that, I would provide a single class that encapsulates all of that.
As an example, the youcat
module in this repo is a fully functioning TAP service for PostgreSQL. In the src/main/resources you will see the config file for various plugins needed to make that work and some of those are in youcat
, some are in cadc-tap-server-pg
(or other libs), and some are the defaults from cadc-tap-server
. Admittedly, those might not have the optimal organization as some things in youcat could possibly be moved up to the pg specific lib, but it shows what's needed.
Here, it would be good to document the provided implementation classes (like the implementation of TapQuery interface that encapsulates the ADQL query processing) and which DatabaseDataType implementation must/should be used, and any others as outlined in that example PluginFactory.properties
import ca.nrc.cadc.tap.TapSelectItem; | ||
|
||
public class BqFormatFactory extends DefaultFormatFactory { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without a Format object for these column data types, any query that selects a point, polygon, etc will fail to write output. I think this is incomplete and was intended to be added but not?
@@ -0,0 +1,33 @@ | |||
plugins { | |||
id "java" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have updated builds (../opencadc.gradle) to work with gradle 6-8 so
- merge master in if you haven't done that recently
- plugins:
java-library
,maven-publish
,checkstyle
- do not use the old
maven
plugin
The included ../opencadc.gradle configures the maven-publish plugin to do the old install
task so usage is the same.
Also, below you can update sourceCompatibility to 11
... probably need to by now.
Add tap support for BigQuery. Includes the geometric conversions from TAP to BigQuery geometric functions. The TAP server example for running this will be provided in a different repository.