Add BigQuery adapter implementation (Fixes #117) #195
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Description
This PR implements a new adapter for Google BigQuery, enabling Intugle to connect to BigQuery datasets for profiling, analysis, and data product generation.
Changes Made
src/intugle/adapters/types/bigquery/bigquery.py) with full implementation of all abstract methods from the Adapter base classmodels.py) for BigQuery connection configuration and data configurationgoogle-cloud-bigquery>=3.11.0topyproject.tomlFeatures Implemented
✅ Connect to BigQuery using service accounts or Application Default Credentials
✅ Profile BigQuery tables and columns with detailed statistics
✅ Execute Standard SQL queries
✅ Convert query results to pandas DataFrames
✅ Create views and tables from queries (materialization)
✅ Analyze relationships between tables (intersection analysis)
✅ Support for composite keys
✅ Graceful handling of missing dependencies
Technical Implementation
google-cloud-bigqueryPython client libraryTesting
License Compliance
✅
google-cloud-bigqueryuses Apache License 2.0 (fully compatible with project's Apache 2.0 license)Breaking Changes
None - this is a new feature addition
Related Issue
Closes #117 - [HELP WANTED] Implement a new adapter for Google BigQuery