天天看點

google bigquery資料下載下傳

前幾天有個任務

已有材料和工具:

https://cloud.google.com/blog/products/gcp/google-patents-public-datasets-connecting-public-paid-and-private-patent-data

輸出:國家專利資料

思考:

Google cloud platform沒有了解,bigquery是雲端資料庫,也沒有接觸過

步驟:

       1.注冊google cloud platform賬号,谷歌雲平台是收費平台,但是新使用者注冊會贈送300美金,試用期是一年,這一年内隻要300美金沒有用完都是免費的,注冊就按照流程來就好了,但是需要信用卡,visa什麼的

google bigquery資料下載下傳

點選免費試用,即可按照流程注冊

2.注冊完成,轉到控制台

google bigquery資料下載下傳

這就是GCP console的首頁,裡面有各種資訊

3.建立項目,新使用者進來後會自動讓你建立一個項目,在GCP中,所有的資源利用都是以項目為子產品的

如果想要自己建立項目,點選

google bigquery資料下載下傳

點選test旁邊的下三角,裡面有建立項目的選項

4.角色設定

這裡的角色就是對操作項目的人的權限進行管理,我們後續可能會有轉存資料表到storage中的操作,就需要有建立資料表的權限,打開IAM界面,在左側的三道杠杠中找到IAM和管理,點選IAM

google bigquery資料下載下傳

這裡列出了這個項目裡現有成員,你也可以自行添加成員,角色方面,根據需要,自己添加需要的角色,比如我們對bigquery進行操作,點選修改按鈕後,找到bigquery,我們可以選擇管理者,資料編輯者等等,如果對這些權限不了解,可以點選頁面的問号,自己搜尋

google bigquery資料下載下傳

遇到任何問題,搜尋關鍵字,基本都能在gcp文檔中找到答案

5.找到bigquery頁面,點選螢幕左上角的三道杠杠下拉,

google bigquery資料下載下傳

6.bigquery頁面

google bigquery資料下載下傳

頁面左上部分是操作,左下部分是資源樹,我們最開始需要的patents-public-data已經自動加載進去了,如果沒有的話,點選框框自行搜尋

右上部分是查詢編輯器,可以寫sql語句對資料表進行操作,右下部分是傳回記錄什麼的

7.查詢

找到我們需要的資料表

Patents-public-data.patents資料表

7.1檢視這個表發現有800多G,不行,果斷選擇其中的必要的幾列進行下載下傳,因為是按照國家來分,是以先查找這個資料表裡包含多少國家資訊

#SELECT

#distinct country_code

#from

#`patents-public-data.patents.publications`

傳回一個臨時表

我們可以将它下載下傳到本地

google bigquery資料下載下傳

直接下載下傳的話有行數限制,不管是CSV還是json檔案,但是我們這個隻有一百行,沒問題

7.2下一步就是挨個國家進行查詢

SELECT

  country_code,kind_code,application_kind,family_id,publication_date,filing_date,cpc.code as cpc_code,ipc.code as ipc_code

FROM

 `patents-public-data.patents.publications` p

 cross join unnest(p.cpc) as cpc

 cross join unnest(p.ipc) as ipc

where

   country_code= 'CN'

8 轉存

查詢出來的結果非常大,無法直接下載下傳,這也是最困擾我的地方,google之後,在Stack Overflow上提問,一個大神給我提供了解決方案

google bigquery資料下載下傳

先将結果存到自己的資料集中,然後轉存到Google storage中,在storage中下載下傳到本地是沒有大小限制的,這個google storage就是一個雲盤,

8.1建立屬于自己的資料集

google bigquery資料下載下傳

左下方找到自己項目名稱,點選右側的建立資料集

google bigquery資料下載下傳

名稱自己随便取,但是位置有要求,必須要與你查詢的資料集在同一位置,就是說patents-public-data位置是US

8.2 将查詢好的表存入自己的資料集

google bigquery資料下載下傳

可以看到我們查找到關于中國的資料有好多好多行,選擇bigquery表

google bigquery資料下載下傳

表名我們自己定,選擇儲存

8.3 導出 準備 建立storage分區

google bigquery資料下載下傳

在左側找到storage,點選浏覽器,如果不知道怎麼建立,選擇入門教程

我們點選建立

google bigquery資料下載下傳

根據提示一步一步來,建立好存儲分區patents-test

8.4 存儲

google bigquery資料下載下傳

選擇導出到GCS

google bigquery資料下載下傳

GCS位置patents_test是我們的分區,接下來我們在建立一個檔案夾存儲關于China的csv,有一個限制就是單個檔案不能超過1G,是以我們要用通配符-*來讓它自動分開

https://cloud.google.com/bigquery/docs/exporting-data#exporting_data_into_one_or_more_files

我們點選導出

google bigquery資料下載下傳

8.5  下載下傳

google bigquery資料下載下傳

我們進入storage的分區,看到已經儲存成功了,準備下載下傳

單個下載下傳的話

google bigquery資料下載下傳

隻需要點選右側的三個點,下載下傳即可,如果想批量下載下傳,

https://cloud.google.com/storage/docs/downloading-objects

google bigquery資料下載下傳

需要用到GCP sdk,這裡附上安裝教程

https://cloud.google.com/sdk/docs/

按照教程安裝好之後,也初始化好了,隻需要執行一條指令

google bigquery資料下載下傳

便可以自動下載下傳了

OK了

最後說一句,對于一個全新的東西,要想好好了解它,别抵觸,先别想着誰能幫幫我,先去看看文檔,然後想想我學會了我能幫幫誰

附上google cloud platform的總文檔位址  https://cloud.google.com/docs/

Bigquery文檔位址  https://cloud.google.com/bigquery/docs/

反正是夠折磨我的