7

Dostałem kilka notebooków i działało na DataLab. Chciałbym, z różnych powodów, uzyskać dostęp do tych samych danych z lokalnego notatnika Jupyter na moim komputerze.Uzyskaj dostęp do danych BigQuery Google z lokalnych notebooków Jupyter

This question zasugerował kilka podejść, które do tej pory nie mogę pracować.

konkretnie Gcloud biblioteka:

from gcloud import bigquery 
client = bigquery.Client() 

Daj mi stos prześledzić ostatni wiersz, który:

ContextualVersionConflict: (protobuf 2.6.1 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('protobuf!=3.0.0.b2.post1,>=3.0.0b2'), set(['gcloud'])) 

Biblioteka Pandy wygląda obiecująco:

df=pd.io.gbq.read_gbq('SELECT CCS_Category_ICD9, Gender, Admit_Month FROM [xxxxxxxx-xxxxx:xxxx_100MB_newform.xxxxxx_100MB_newform]ORDER by CCS_Category_ICD9', 
       project_id='xxxxxxxx-xxxxx') 

także daje mi ślad stosu:

IOError: [Errno 2] No such file or directory: '/usr/local/lib/python2.7/dist-packages/httplib2-0.9.1.dist-info/METADATA' 

Być może mam problem z auth na podejściu Pandy, mimo że moja przeglądarka jest obecnie uwierzytelniona w projekcie? lub czy brakuje mi zależności?

Wszelkie sugestie lub wskazówki docenione ..

Jaki jest najlepszy sposób, aby uzyskać dostęp do źródła danych BigQuery z poziomu lokalnego notebooka Jupyter?

Odpowiedz

7

Na podstawie błędu z gbq.read() wydaje się, że httplib2 może nie być poprawnie zainstalowany. Na pandach installation page istnieje kilka opcjonalnych zależności wymaganych do obsługi Google BigQuery (httplib2 jest jednym z nich). Aby ponownie zainstalować/naprawić spróbować instalacyjny:

pip install httplib2 --ignore-installed 

kiedyś opcjonalnych zależności o wsparcie Google BigQuery są zainstalowane, następujący kod powinien działać:

from pandas.io import gbq 
df = gbq.read_gbq('SELECT * FROM MyDataset.MyTable', project_id='my-project-id') 
+0

cera ,, Chciałbym, żeby to było, Pip mówi, że jest intslled i ja też próbowałem pip --upgrade, taki sam rezultat, już zadowolony ..: - ( – dartdog

+0

Czy opcja --ignore jest pomocna? –

+0

Ale! Usunięcie ciągu identyfikatora projektu, który miałem przed nazwą tabeli, g, więc w skrócie miałem bardzo zły format na klauzuli Select! – dartdog

1

Jeśli uzywasz Datalab specyficzne sposoby dostępu do GCP, możesz zamiast tego spróbować użyć wersji https://github.com/googledatalab/datalab. Zapewni to funkcję kompatybilną z Datalabem w Notatniku Jupyter.

+0

I łatwe-peasy 'docker run -it -p" 127.0.0.1:8081:8080 "-v $ PWD:"/content "gcr.io/cloud-datalab/datalab: local' skonfiguruje środowisko bez potrzeby dla kompilacji. – nilleb

0

miałem ten sam problem, ale udało się go rozwiązać, instalując wersję Conda z GBq, miałem już zainstalowaną dystrybucję Anaconda Pythona, więc myślę, że może jakiś związek brakuje jeśli używasz pip

Conda zainstalować pandy -gbq --channel Conda-kuźnia polecenie to zrobił Business

Powiązane problemy