2014-09-13 160 views
1

我是BigQuery和BigQuery的Python API - 處女。將數據從BigQuery導出到本地PostgreSQL/MySql數據庫

我的任務是:從使用的BigQuery和Python API的google open dataset提取數據,將數據加載到MySQL的/ PostgreSQL的本地數據庫(一個安裝在我的電腦上)

我看到它的方式(後我的2小時研究)是: 將數據拉入本地csv文件(using this kind of a sample code),將數據從文件加載到數據庫中。

這是否類似於執行任務的正確方式?

如果不是,請您提供一些建議/指導?

在此先感謝。

+0

這是正確的做法。 – Pentium10 2014-09-13 20:09:05

+0

它可以完成省略csv文件的步驟? SO-on-the-go? – Dennis 2014-09-13 20:13:48

+0

您可以運行查詢並處理輸出https://developers.google.com/bigquery/docs/reference/v2/jobs/getQueryResults但是,導出爲CSV可以加快導入到SQL數據庫的速度。 – Pentium10 2014-09-13 21:03:36

回答

1

API方法

你上面列出的步驟是正確的。綜上所述,開發者:

  1. 使用的BigQuery API的「Jobs: insert」方法插入數據提取的工作 - 這導致數據被髮送到谷歌雲存儲桶。

  2. 使用Google Cloud Storage API的「Objects: get」方法在本地下載文件。

  3. 要獲得額外榮譽,我將使用「Tables: get」方法查詢原始BQ表以獲取原始BigQuery表架構,並使用它來構建MySQL導入步驟的架構。

的WEB UI方法

爲什麼不跑,你需要使用谷歌的BigQuery的Web UI任何查詢,然後將數據導出到通過UI谷歌的雲存儲桶?爲什麼你需要使用Python?

+1

這是一種測試任務,讓人們瞭解我有一些python技能:)但是,感謝您的建議:) – Dennis 2014-09-14 08:13:40

+2

**編輯:更新原始答案**確定 - 那麼是的,上面列出的步驟是正確的。總之,您應該:1.使用BigQuery API的「作業:插入」方法插入數據抽取作業 - 這會導致數據被髮送到Google雲端存儲分區。 2.使用Google Cloud Storage API的「Objects:get」方法在本地下載文件。 3.爲了獲得額外的榮譽,我將使用「Tables:get」方法查詢原始BQ表以獲取原始BigQuery表架構,並使用它來構建MySQL導入步驟的架構。 – 2014-09-14 21:02:44

+1

太棒了!這意味着我是對的:)最後一件事。我是否需要支付任何費用才能啓用Google存儲桶?我找不到一個免費的方式來訪問它 – Dennis 2014-09-14 21:10:41

相關問題