A local client for connecting to and working with Google BigQuery
Project description
shipyard-bigquery
The shipyard-bigquery
Python package is a local client for connecting to BigQuery to perform common operations such as loading and unloading data.
Installation
python3 -m pip install shipyard-bigquery
Usage
To initialize the client, provide the service account (in JSON format) as a string:
import os
from shipyard_bigquery import BigQueryClient
service_account = os.getenv('GOOGLE_APPLICATION_CREDENTIALS') # in this case, service account is stored as an environment variable
client = BigQueryClient(service_account)
client.connect()
Upload a file to a table in BigQuery
The upload method allows for the loading of a local CSV file to BigQuery and supports two different types of upload: overwrite
and append
.
client.upload(file = "my_file.csv", dataset = "my_dataset", table = "my_table", upload_type = 'overwrite')
Additionally, a the schema of the file to be loaded can be decalred ahead of time, otherwise they will be infered
schema = '[{"name": "string_col", "type": "string"}, {"name": "char_col", "type": "string"}, {"name": "int_col", "type": "Int64"}, {"name": "float_col", "type": "Float64"}, {"name": "bool_col", "type": "Bool"}, {"name": "date_col", "type": "Date"},{"name": "datetime_col", "type": "Datetime"}]'
client.upload(file = "my_file.csv", dataset = "my_dataset", table = "my_table", upload_type = 'overwrite',schema = schema)
Fetch Query Results
The fetch method allows for the downloading of a SQL query to a pandas dataframe
df = client.fetch('select * from my_table limit 10')
Execute Remote Queries
The execute method allows for you to execute queries without return values in BigQuery. Common operations would be dropping tables, deleting tables, or altering tables
client.execute_query('drop table if exists my_table')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for shipyard_bigquery-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65c0fa6125c795f04edcb6cc9092dea32c2be643cebdba930a968c35cafd76ab |
|
MD5 | 8eb5b61fc9e80c7c97c3f397dcf3f0a7 |
|
BLAKE2b-256 | b5f45570d382dd11de5bc07d1ca13077c96a64a3c90120b7e3ff2276d52dd488 |