Use when integrate Google BigQuery for large-scale data analytics. Write
Scanned 9/8/2026
Install to Claude Code
npx -y skills add oyi77/1ai-skills --skill bigquery-integration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Bigquery Integration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/oyi77-bigquery-integration)More formats (shields.io, HTML) on the badges page.
---
name: bigquery-integration
description: Use when integrate Google BigQuery for large-scale data analytics. Write
SQL queries, manage datasets, export results, and build data pipelines. Use when
integrateing google bigquery for large-scale data analytics. write sql queries,.
domain: integrations
author: oyi77
license: Apache-2.0
subdomain: integrations
tags:
- bigquery
- google-cloud
- sql
- analytics
- data-warehouse
- etl
version: 1.0.0
category: integrations
---
# Bigquery Integration
## When to Use
**Trigger phrases:**
- "bigquery integration"
- "Integrate Google BigQuery for large-scale data analytics"
- When querying large datasets (TB-scale) with SQL
- When building data warehouses or analytics pipelines
- When exporting BigQuery results to applications
- When managing BigQuery datasets, tables, and permissions
## When NOT to Use
- For small datasets (use PostgreSQL or SQLite)
- For real-time transactional data (use OLTP databases)
## Overview
Google BigQuery is a serverless, multi-cloud data warehouse that scales from megabytes to petabytes without infrastructure management. It separates storage and compute — data lives in Colossus (Google's distributed file system) while analysis runs on Borg — allowing you to pay only for the bytes your queries consume. BigQuery supports standard SQL, automatic replication across zones, and built-in machine learning via BigQuery ML.
Key capabilities include real-time streaming ingestion with 90-minute buffer consistency, automatic table partitioning and clustering for cost control, and deep integration with the GCP ecosystem (Dataflow, Dataproc, Looker, Vertex AI). BigQuery also supports federated queries — query data directly in Cloud Storage, Google Sheets, Cloud SQL, or Bigtable without loading it first.
In production, BigQuery handles exabyte-scale queries, enforces row-level security through column-level access control, and provides slot-based reservations for predictable pricing. Its INFORMATION_SCHEMA tables give administrators full visibility into query performance, bytes billed, and slot utilization across the organization.
## Workflow
1. **Set up auth** — Create a GCP service account or configure ADC via `gcloud auth application-default login`. Grant `bigquery.dataViewer` and `bigquery.jobUser` roles on the target project.
2. **Install SDK** — `pip install google-cloud-bigquery` for Python or `npm install @google-cloud/bigquery` for Node.js
3. **Design schema** — Define tables with partitioning (DATE/TIMESTAMP columns) and clustering (high-cardinality filter columns) for cost-efficient queries
4. **Load data** — Import CSV, JSON, Avro, or Parquet from GCS or local files. Use `WRITE_TRUNCATE` for full refreshes, `WRITE_APPEND` for incremental loads
5. **Run queries** — Write SQL with parameterized filters (`@param` syntax) to prevent injection and enable result caching for repeated queries
6. **Export results** — Convert to DataFrames (Python) or result arrays (Node.js), stream to CSV in GCS, or push to application APIs
7. **Monitor & optimize** — Audit slot usage and bytes billed via `INFORMATION_SCHEMA.JOBS`, set up billing alerts, refactor hot queries with materialized views
## Anti-Rationalization Table
| Rationalization | Reality |
|---|---|
| "SELECT * is fine for exploration" | BigQuery charges per bytes scanned — a single full scan on a 1TB table costs $5. Always select specific columns. |
| "I do not need partitions" | Partitioned tables reduce query costs by 90%+ and improve performance significantly. Always partition on DATE/TIMESTAMP columns. |
| "Clustering is not worth the effort" | Clustering sorts data within partitions, cutting bytes scanned 40-60% on filter-heavy queries. It is free to set up. |
| "I will optimize costs later" | Cost optimization must be designed in — partitioning, clustering, and denormalization choices affect every query you write. Retrofit is expensive. |
| "BigQuery is too expensive for us" | On-demand pricing ($5/TB) with partitioned tables is cheaper than self-hosted ClickHouse or Redshift for sub-50TB analytical workloads. |
| "My query is small, costs do not matter" | A single `SELECT COUNT(DISTINCT ...)` on an unpartitioned table scans the entire table. Small mistakes at scale cost thousands. |
## Code Example (Python)
```python
from google.cloud import bigquery
client = bigquery.Client()
query = '''
SELECT name, SUM(amount) as total
FROM `project.dataset.transactions`
WHERE date >= @start_date
GROUP BY name
ORDER BY total DESC
LIMIT 10
'''
job_config = bigquery.QueryJobConfig(
query_parameters=[bigquery.ScalarQueryParameter('start_date', 'DATE', '2026-01-01')]
)
results = client.query(query, job_config=job_config).to_dataframe()
```
## Code Example (Node.js)
```javascript
const {BigQuery} = require('@google-cloud/bigquery');
async function queryTransactions(startDate) {
const bigquery = new BigQuery();
const query = `
SELECT name, SUM(amount) as total
FROM \`project.dataset.transactions\`
WHERE date >= @start_date
GROUP BY name
ORDER BY total DESC
LIMIT 10
`;
const options = {
query: query,
params: {start_date: startDate},
};
const [rows] = await bigquery.query(options);
rows.forEach(row => console.log(`${row.name}: $${row.total}`));
}
queryTransactions('2026-01-01');
```
## Setup & Configuration
### Python
```bash
pip install google-cloud-bigquery pandas
gcloud auth application-default login
```
### Node.js
```bash
npm install @google-cloud/bigquery
gcloud auth application-default login
```
### Authentication Options
1. **Application Default Credentials (ADC)** — Best for local development. Run `gcloud auth application-default login` and the SDK picks up credentials automatically.
2. **Service Account Key** — Best for CI/CD or server deployments. Create a service account in GCP Console, download the JSON key, and set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable.
3. **Workload Identity Federation** — Best for multi-cloud (AWS/Azure workloads authenticating to GCP without managing service account keys).
## Common Issues & Troubleshooting
| Problem | Solution |
|---|---|
| Query timeout (exceeds 6-hour limit) | Use `job_timeout` parameter on the client; break large queries into batch stages with intermediate tables |
| 403 Access Denied | Verify the service account has `bigquery.jobs.create` and `bigquery.tables.getData` on the target dataset |
| 400 Bad Request — Unrecognized name | Ensure table references use backtick-quoted format `` `project.dataset.table` `` and column names match the schema exactly |
| Exceeded quota (50 concurrent queries) | Request slot quota increase in GCP Console IAM & Admin, or implement client-side concurrency limiting |
| bytes_billed unexpectedly high | Avoid `SELECT *`; use preview (`bq head`) for exploration; add partition filters to every WHERE clause |
| Streaming buffer data not visible | Newly streamed rows take up to 90 minutes to be available for COPY, EXPORT, and DML operations |
## Process
1. **Environment setup** — Install SDK, configure gcloud ADC or service account key, verify with `bq ls`
2. **Dataset design** — Define dataset location, table schemas, partitioning and clustering strategy based on query patterns
3. **Pipeline construction** — Write queries with parameterized filters, register tables as data sources, set up incremental or full-refresh loads
4. **Validation** — Run against staging data, compare row counts, check bytes-billed against budget, verify IAM access controls
5. **Deployment & monitoring** — Schedule queries via Cloud Scheduler or Airflow, set up cost alerts, monitor `INFORMATION_SCHEMA` for slot utilization and performance regression
## Verification
- [ ] Auth configured via service account or ADC, verified with `bq ls`
- [ ] Queries return correct results matching expected row counts and aggregation values
- [ ] Parameterized queries prevent SQL injection — no string interpolation in query strings
- [ ] Partitioned tables in use for datasets >10GB, with partition filter required in WHERE clauses
- [ ] Query costs tracked per job via `INFORMATION_SCHEMA.JOBS` or BigQuery audit logs
- [ ] Export pipeline tested with CSV, JSON, and Parquet formats
- [ ] Error handling covers 403 (access denied), 400 (bad query), and 504 (timeout) responses
- [ ] IAM permissions scoped to least privilege — no blanket `bigquery.user` role for service accounts
## Monetization
- **BigQuery consulting** — Help clients set up cost-optimized data warehouses, partition strategies, and slot management for $3K-$8K per engagement.
- **Analytics SaaS** — Build a multi-tenant analytics product on BigQuery with per-query billing and dashboard exports for $500-$2K/month per tenant.
- **Data pipeline service** — Offer end-to-end pipeline construction (GCS to BigQuery to Looker/Tableau) for mid-market companies at $2K-$5K/month retainer.
- **Query optimization audits** — Audit existing BigQuery usage, identify cost leaks (SELECT *, no partitioning, cross-joins), and deliver a savings report. Charge $500-$2K per audit.
- **Training & workshops** — Run half-day BigQuery optimization workshops for teams migrating from on-premise data warehouses. $2K-$4K per session.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!