A Singer target that writes data to Google BigQuery.
target-bigquery
works together with any other Singer Tap to move data from sources like Braintree, Freshdesk and Hubspot to Google BigQuery.
(originally found in the Google API docs)
- Use this wizard to create or select a project in the Google Developers Console and activate the BigQuery API. Click Continue, then Go to credentials.
- On the Add credentials to your project page, click the Cancel button.
- At the top of the page, select the OAuth consent screen tab. Select an Email address, enter a Product name if not already set, and click the Save button.
- Select the Credentials tab, click the Create credentials button and select OAuth client ID.
- Select the application type Other, enter the name "Singer BigQuery Target", and click the Create button.
- Click OK to dismiss the resulting dialog.
- Click the Download button to the right of the client ID.
- Move this file to your working directory and rename it client_secrets.json.
Create a file called config.json
in your working directory, following config.sample.json. The required parameters are the project name project_id
, the dataset name dataset_id
, and table name table_id
.
First, make sure Python 3 is installed on your system or follow these installation instructions for Mac or Ubuntu.
target-bigquery
can be run with any Singer Tap, but we'll use tap-fixerio
- which pulls currency exchange rate data from a public data set - as an example.
These commands will install tap-fixerio
and target-bigquery
with pip and then run them together, piping the output of tap-fixerio
to target-bigquery
:
› pip install target-bigquery tap-fixerio
› tap-fixerio | target-bigquery -c config.json
INFO Replicating the latest exchange rate data from fixer.io
INFO Tap exiting normally
If you're using a different Tap, substitute tap-fixerio
in the final command above to the command used to run your Tap.
It is recommended to use target-bigquery
with a service account.
- Download the client_secrets.json file for your service account, and place it on the machine where
target-bigquery
will be executed. - Set a
GOOGLE_APPLICATION_CREDENTIALS
environment variable on the machine, where the value is the fully qualified path to client_secrets.json
It should be possible to use the oAuth flow to authenticate to GCP as well:
target-bigquery
will attempt to open a new window or tab in your default browser. If this fails, copy the URL from the console and manually open it in your browser.- If you are not already logged into your Google account, you will be prompted to log in.
- If you are logged into multiple Google accounts, you will be asked to select one account to use for the authorization.
- Click the Accept button to allow
target-bigquery
to access your Google BigQuery table. - You can close the tab after the signup flow is complete.
The data will be written to the table specified in your config.json
.
Copyright © 2018 RealSelf, Inc.