From f678bbc49731cfd59338252cbdd2c4a101f32a0e Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Fri, 21 Oct 2016 10:47:06 -0700 Subject: [PATCH 1/3] Add bigquery shakespeare example Change-Id: I72c8daab71486d808947ddf0a5ae797e8f3bfa62 --- bigquery/cloud-client/simple_app.py | 58 ++++++++++++++++++++++++ bigquery/cloud-client/simple_app_test.py | 21 +++++++++ 2 files changed, 79 insertions(+) create mode 100644 bigquery/cloud-client/simple_app.py create mode 100644 bigquery/cloud-client/simple_app_test.py diff --git a/bigquery/cloud-client/simple_app.py b/bigquery/cloud-client/simple_app.py new file mode 100644 index 00000000000..7fee0d9382e --- /dev/null +++ b/bigquery/cloud-client/simple_app.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# Copyright 2016 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Simple application that performs a query with BigQuery.""" +# [START all] +# [START create_client] +from google.cloud import bigquery + + +def query_shakespeare(): + client = bigquery.Client() + # [END create_client] + # [START run_query] + query_results = client.run_sync_query(""" + SELECT + APPROX_TOP_COUNT(corpus, 10) as title, + COUNT(*) as unique_words + FROM `publicdata.samples.shakespeare`;""") + + # Use standard SQL syntax for queries. + # See: https://cloud.google.com/bigquery/sql-reference/ + query_results.use_legacy_sql = False + + query_results.run() + # [END run_query] + + # [START print_results] + # Drain the query results by requesting a page at a time. + page_token = None + + while True: + rows, total_rows, page_token = query_results.fetch_data( + max_results=10, + page_token=page_token) + + for row in rows: + print(row) + + if not page_token: + break + # [END print_results] + +if __name__ == '__main__': + query_shakespeare() +# [END all] diff --git a/bigquery/cloud-client/simple_app_test.py b/bigquery/cloud-client/simple_app_test.py new file mode 100644 index 00000000000..98878e352b0 --- /dev/null +++ b/bigquery/cloud-client/simple_app_test.py @@ -0,0 +1,21 @@ +# Copyright 2016 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import simple_app + + +def test_query_shakespeare(capsys): + simple_app.query_shakespeare() + out, _ = capsys.readouterr() + assert 'Hamlet' in out From e6971e1388962ed9b683e5f166cfac62d2e6ce45 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Tue, 6 Dec 2016 13:22:48 -0800 Subject: [PATCH 2/3] Update to latest bigquery Change-Id: Ice67b76ff89f83c289ffefb6a5981166a0b71fcc --- bigquery/cloud-client/requirements.txt | 2 +- bigquery/cloud-client/simple_app_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bigquery/cloud-client/requirements.txt b/bigquery/cloud-client/requirements.txt index d9f269ca7b6..7523b0dacfb 100644 --- a/bigquery/cloud-client/requirements.txt +++ b/bigquery/cloud-client/requirements.txt @@ -1 +1 @@ -google-cloud-bigquery==0.21.0 +google-cloud-bigquery==0.22.0 diff --git a/bigquery/cloud-client/simple_app_test.py b/bigquery/cloud-client/simple_app_test.py index 98878e352b0..3733bf6ef3f 100644 --- a/bigquery/cloud-client/simple_app_test.py +++ b/bigquery/cloud-client/simple_app_test.py @@ -18,4 +18,4 @@ def test_query_shakespeare(capsys): simple_app.query_shakespeare() out, _ = capsys.readouterr() - assert 'Hamlet' in out + assert 'hamlet' in out From 05f42f22f5af0b06759ecbbfa7c976b4b5a47bcc Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Tue, 6 Dec 2016 13:29:07 -0800 Subject: [PATCH 3/3] Fix lint Change-Id: I7d3d3a550159c5acb261cc0b2caf02ceaa7b25eb --- bigquery/cloud-client/simple_app.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bigquery/cloud-client/simple_app.py b/bigquery/cloud-client/simple_app.py index 7fee0d9382e..7180c4fda62 100644 --- a/bigquery/cloud-client/simple_app.py +++ b/bigquery/cloud-client/simple_app.py @@ -53,6 +53,7 @@ def query_shakespeare(): break # [END print_results] + if __name__ == '__main__': query_shakespeare() # [END all]