pandas                
            IO для Google BigQuery
        
        
            
    Поиск…
Чтение данных из BigQuery с учетными данными учетной записи пользователя
In [1]: import pandas as pd
Чтобы выполнить запрос в BigQuery, вам нужно иметь собственный проект BigQuery. Мы можем запросить некоторые общедоступные данные выборки:
In [2]: data = pd.read_gbq('''SELECT title, id, num_characters
   ...:                       FROM [publicdata:samples.wikipedia]
   ...:                       LIMIT 5'''
   ...:                    , project_id='<your-project-id>')
Это напечатает:
Your browser has been opened to visit:
    https://accounts.google.com/o/oauth2/v2/auth...[looong url cutted]
If your browser is on a different machine then exit and re-run this
application with the command-line parameter
  --noauth_local_webserver
Если вы работаете с локальной машины, то вы можете всплывать в браузере. После предоставления привилегий панды будут продолжать выпуск:
Authentication successful.
Requesting query... ok.
Query running...
Query done.
Processed: 13.8 Gb
Retrieving results...
Got 5 rows.
Total time taken 1.5 s.
Finished at 2016-08-23 11:26:03.
Результат:
In [3]: data
Out[3]: 
               title       id  num_characters
0       Fusidic acid   935328            1112
1     Clark Air Base   426241            8257
2  Watergate scandal    52382           25790
3               2005    35984           75813
4               .BLP  2664340            1659
 В качестве побочного эффекта pandas создаст json-файл bigquery_credentials.dat который позволит вам запускать дополнительные запросы без необходимости предоставления привилегий: 
In [9]: pd.read_gbq('SELECT count(1) cnt FROM [publicdata:samples.wikipedia]'
                   , project_id='<your-project-id>')
Requesting query... ok.
[rest of output cutted]
Out[9]: 
         cnt
0  313797035
Чтение данных из BigQuery с учетными данными учетной записи службы
Если вы создали учетную запись службы и для нее есть файл json для частного ключа, вы можете использовать этот файл для аутентификации с помощью pandas
In [5]: pd.read_gbq('''SELECT corpus, sum(word_count) words
                       FROM [bigquery-public-data:samples.shakespeare]       
                       GROUP BY corpus                                
                       ORDER BY words desc
                       LIMIT 5'''
                   , project_id='<your-project-id>'
                   , private_key='<private key json contents or file path>')
Requesting query... ok.
[rest of output cutted]
Out[5]: 
           corpus  words
0          hamlet  32446
1  kingrichardiii  31868
2      coriolanus  29535
3       cymbeline  29231
4    2kinghenryiv  28241
Modified text is an extract of the original Stack Overflow Documentation
        Лицензировано согласно CC BY-SA 3.0
        Не связан с Stack Overflow