-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
🎉 New Source: Big Query #4457
🎉 New Source: Big Query #4457
Conversation
s not an abstract class. + add default implementation for `AbstractRelationalDbSource.getFullyQualifiedTableName`
…nto aleonets/1876-source-bigquery
…act-source # Conflicts: # airbyte-integrations/connectors/source-mysql/src/main/java/io/airbyte/integrations/source/mysql/MySqlSource.java
…dardSQLTypeName to JsonSchemaPrimitive
# Conflicts: # airbyte-integrations/connectors/source-mysql/src/main/java/io/airbyte/integrations/source/mysql/MySqlSource.java
…nto aleonets/1876-source-bigquery
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.
@DoNotPanicUA @heade nice guys, very good job!
* | ||
* @return formatted list of test cases | ||
*/ | ||
public String getMarkdownTestTable() { |
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.
@DoNotPanicUA nice!
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.
You can write return the value right here :-)
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.
this is great! next step will be write this into a markdown file as part of the build so it's readily available ;) (but not in this pr ofc)
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.
Looks great! Just some small changes needed and question about unit tests
...rs/source-bigquery/src/main/java/io/airbyte/integrations/source/bigquery/BigQuerySource.java
Outdated
Show resolved
Hide resolved
...rs/source-bigquery/src/main/java/io/airbyte/integrations/source/bigquery/BigQuerySource.java
Outdated
Show resolved
Hide resolved
airbyte-db/src/main/java/io/airbyte/db/bigquery/BigQueryDatabase.java
Outdated
Show resolved
Hide resolved
airbyte-db/src/main/java/io/airbyte/db/bigquery/BigQueryUtils.java
Outdated
Show resolved
Hide resolved
* | ||
* @return formatted list of test cases | ||
*/ | ||
public String getMarkdownTestTable() { |
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.
this is great! next step will be write this into a markdown file as part of the build so it's readily available ;) (but not in this pr ofc)
airbyte-integrations/connectors/source-bigquery/src/main/resources/spec.json
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-bigquery/src/main/resources/spec.json
Outdated
Show resolved
Hide resolved
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.
Nice!
…rces/spec.json Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
"supported_destination_sync_modes": ["overwrite", "append", "append_dedup"], | ||
"connectionSpecification": { | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "BigQuery Destination Spec", |
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.
Should this be BigQuery Source Spec
?
/test connector=source-bigquery
|
/publish connector=connectors/source-bigquery
|
What
New source Big Query.
Implemented Full and Incremental refresh types.
Bonus 🍬
Method for generation comprehensive test table
SourceComprehensiveTest.getMarkdownTestTable()
Comprehensive tests
null
,-128
,127
,9223372036854775807
,-9223372036854775808
null
,-128
,127
,9223372036854775807
,-9223372036854775808
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,999999999999999999
,-999999999999999999
,0.123456789
,-0.123456789
null
,-128
,127
,0.123456789
,-0.123456789
null
,-128.0
,127.0
,0.123456789
,-0.123456789
true
,false
,null
true
,false
,null
FROM_BASE64("test")
,null
test
,null
date('2021-10-20')
,date('9999-12-31')
,date('0001-01-01')
,null
2021-10-20T00:00:00Z
,9999-12-31T00:00:00Z
,0001-01-01T00:00:00Z
,null
datetime('2021-10-20 11:22:33')
,datetime('9999-12-31 11:22:33')
,datetime('0001-01-01 11:22:33')
,null
2021-10-20T11:22:33Z
,9999-12-31T11:22:33Z
,0001-01-01T11:22:33Z
,null
timestamp('2021-10-20 11:22:33')
,null
2021-10-20T11:22:33Z
,null
ST_GEOGFROMTEXT('POINT(1 2)')
,null
POINT(1 2)
,null
'qwe'
,'йцу'
,null
qwe
,йцу
,null
STRUCT("B.A",12)
,null
TIME(15, 30, 00)
,null
15:30:00
,null
['a', 'b']
[{"test_column":"a"},{"test_column":"b"}]
STRUCT('s' as frst, 1 as sec, STRUCT(555 as id_col, STRUCT(TIME(15, 30, 00) as time) as mega_obbj) as obbj)
{"frst":"s","sec":1,"obbj":{"id_col":555,"mega_obbj":{"last_col":"15:30:00"}}}
Recommended reading order
BigQuerySource.java
BigQueryDatabase.java
BigQueryUtils.java
Pre-merge Checklist
airbyte_secret
in the connector's spec./gradlew :airbyte-integrations:connectors:<name>:integrationTest
./test connector=connectors/<name>
command as documented here is passing./publish
command described here