connor-makowski / pythonbq

Python wrapper for easy use of big query

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PythonBQ

PyPI version License: MIT

Python wrapper for easy use of big query

Features

  • Easily pull big query data from python

Setup

Make sure you have Python 3.7.x (or higher) installed on your system. You can download it here.

Installation

pip install pythonbq

Example

from pythonbq import pythonbq
myProject=pythonbq(
  bq_key_path='path/to/bq/key.json',
  project_id='myGoogleProjectID',
  legacy_sql=False
)
output=myProject.query(sql="""select * from myProjectTable""")

Documentation for pythonbq Functions

https://connor-makowski.github.io/pythonbq/pythonbq.html

Output Data

  • Output from the query function is returned as a list of dictionaries
    • This can be modified by specifying the argument out_type in your .query()
      • dict: list of dictionaries
      • list: list of lists (header as the first row)
      • raw: list of lists (with no header row)
      • EG:
        output=myProject.query(sql="""select * from myProjectTable""", out_type='list')
        
  • EG:
    query = """
        SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013`
        WHERE state = "TX"
        LIMIT 5
    """
    
    myProject = pythonbq(
        key_path='./private/bq_key.json',
    )
    output = myProject.query(sql=query)
    # output = [{'name': 'Mary'}, {'name': 'Roberta'}, {'name': 'Marguerite'}, {'name': 'Katie'}, {'name': 'Eunice'}]
    

About

Python wrapper for easy use of big query

License:MIT License


Languages

Language:Python 92.8%Language:Shell 7.2%