前幾天有個任務
已有材料和工具:
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什麼的
點選免費試用,即可按照流程注冊
2.注冊完成,轉到控制台
這就是GCP console的首頁,裡面有各種資訊
3.建立項目,新使用者進來後會自動讓你建立一個項目,在GCP中,所有的資源利用都是以項目為子產品的
如果想要自己建立項目,點選
點選test旁邊的下三角,裡面有建立項目的選項
4.角色設定
這裡的角色就是對操作項目的人的權限進行管理,我們後續可能會有轉存資料表到storage中的操作,就需要有建立資料表的權限,打開IAM界面,在左側的三道杠杠中找到IAM和管理,點選IAM
這裡列出了這個項目裡現有成員,你也可以自行添加成員,角色方面,根據需要,自己添加需要的角色,比如我們對bigquery進行操作,點選修改按鈕後,找到bigquery,我們可以選擇管理者,資料編輯者等等,如果對這些權限不了解,可以點選頁面的問号,自己搜尋
遇到任何問題,搜尋關鍵字,基本都能在gcp文檔中找到答案
5.找到bigquery頁面,點選螢幕左上角的三道杠杠下拉,
6.bigquery頁面
頁面左上部分是操作,左下部分是資源樹,我們最開始需要的patents-public-data已經自動加載進去了,如果沒有的話,點選框框自行搜尋
右上部分是查詢編輯器,可以寫sql語句對資料表進行操作,右下部分是傳回記錄什麼的
7.查詢
找到我們需要的資料表
Patents-public-data.patents資料表
7.1檢視這個表發現有800多G,不行,果斷選擇其中的必要的幾列進行下載下傳,因為是按照國家來分,是以先查找這個資料表裡包含多少國家資訊
#SELECT
#distinct country_code
#from
#`patents-public-data.patents.publications`
傳回一個臨時表
我們可以将它下載下傳到本地
直接下載下傳的話有行數限制,不管是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 storage中,在storage中下載下傳到本地是沒有大小限制的,這個google storage就是一個雲盤,
8.1建立屬于自己的資料集
左下方找到自己項目名稱,點選右側的建立資料集
名稱自己随便取,但是位置有要求,必須要與你查詢的資料集在同一位置,就是說patents-public-data位置是US
8.2 将查詢好的表存入自己的資料集
可以看到我們查找到關于中國的資料有好多好多行,選擇bigquery表
表名我們自己定,選擇儲存
8.3 導出 準備 建立storage分區
在左側找到storage,點選浏覽器,如果不知道怎麼建立,選擇入門教程
我們點選建立
根據提示一步一步來,建立好存儲分區patents-test
8.4 存儲
選擇導出到GCS
GCS位置patents_test是我們的分區,接下來我們在建立一個檔案夾存儲關于China的csv,有一個限制就是單個檔案不能超過1G,是以我們要用通配符-*來讓它自動分開
https://cloud.google.com/bigquery/docs/exporting-data#exporting_data_into_one_or_more_files
我們點選導出
8.5 下載下傳
我們進入storage的分區,看到已經儲存成功了,準備下載下傳
單個下載下傳的話
隻需要點選右側的三個點,下載下傳即可,如果想批量下載下傳,
https://cloud.google.com/storage/docs/downloading-objects
需要用到GCP sdk,這裡附上安裝教程
https://cloud.google.com/sdk/docs/
按照教程安裝好之後,也初始化好了,隻需要執行一條指令
便可以自動下載下傳了
OK了
最後說一句,對于一個全新的東西,要想好好了解它,别抵觸,先别想着誰能幫幫我,先去看看文檔,然後想想我學會了我能幫幫誰
附上google cloud platform的總文檔位址 https://cloud.google.com/docs/
Bigquery文檔位址 https://cloud.google.com/bigquery/docs/
反正是夠折磨我的