範例 - 網域函式

這個範例說明如何使用下列函式,擷取網址中的元件部分:

  • DOMAIN - 從網址中擷取網域值。請參閱 DOMAIN 函式
  • SUBDOMAIN - 擷取通訊協定 ID 之後與網域值之前的第一個群組。請參閱 SUBDOMAIN 函式
  • HOST - 傳回網址中的完整主機值。請參閱 HOST 函式
  • SUFFIX - 擷取網址的後置字串。請參閱 SUFFIX 函式
  • URLPARAMS - 從網址中擷取查詢參數和值。請參閱 URLPARAMS 函式
  • FILTEROBJECT - 篩選物件值,只顯示指定鍵的元素。請參閱 FILTEROBJECT 函式

來源:

您的資料集包含下列網址值:

URL
www.example.com
example.com/support
http://www.example.com/products/
http://1.2.3.4
https://www.example.com/free-download
https://www.example.com/about-us/careers
www.app.example.com
www.some.app.example.com
some.app.example.com
some.example.com
example.com
http://www.example.com?q1=broken%20record
http://www.example.com?query=khakis&app=pants
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wrist

轉換:

將上述資料匯入應用程式時,系統會將資料欄辨識為網址。所有值都會登錄為有效值,即使是 IPv4 位址也有效。

如何擷取網域及子網域值:

derive type:single value: DOMAIN(URL) as: 'domain_URL'

derive type:single value: SUBDOMAIN(URL) as:'subdomain_URL'

derive type:single value: HOST(URL) as:host_URL'

derive type:single value: SUFFIX(URL) as:'suffix_URL'

您可以在下列轉換指令中使用 Cloud Dataprep 模式,將通訊協定 ID (如果有) 擷取到新資料欄:

extract col:URL on:`{start}%*://`

如要清理此資料,您可以將此資料欄重新命名為 protocol_URL

如要擷取路徑值,您可以使用下列規則運算式:

注意:規則運算式被視為是用於模式比對的開發人員層級方法。請謹慎使用這些運算式。請參閱文字比對一文。

extract col: URL on: /[^*:\/\/]\/.*$/

上述轉換指令擷取了太多網址。如果您將資料欄重新命名為 path_URL,就可以使用下列規則運算式來清理資料:

extract col:path_URL on:/[!^\/].*$/


刪除 path_URL 資料欄,並將 path_URL1 資料欄重新命名為已刪除的資料欄。然後使用以下指令︰

derive type:single value: URLPARAMS(URL) as: 'urlParams'

如果只要查看 q1 參數的值,您可以新增以下指令:

derive type:single value: FILTEROBJECT(urlParams,'q1') as: 'urlParam_q1'

結果:

為了便於顯示,結果資料表會分成獨立的資料欄組合。

資料欄組合 1:

URLhost_URLpath_URL
www.example.comwww.example.com
example.com/supportexample.com/support
http://www.example.com/products/www.example.com/products/
http://1.2.3.41.2.3.4
https://www.example.com/free-downloadwww.example.com/free-download
https://www.example.com/about-us/careerswww.example.com/about-us/careers
www.app.example.comwww.app.example.com
www.some.app.example.comwww.some.app.example.com
some.app.example.comsome.app.example.com
some.example.comsome.example.com
example.comexample.com
http://www.example.com?q1=broken%20recordwww.example.com
http://www.example.com?query=khakis&app=pantswww.example.com
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wristwww.example.com

資料欄組合 2:

網址protocol_URLsubdomain_URLdomain_URLsuffix_URL
www.example.com wwwexamplecom
example.com/support examplecom
http://www.example.com/products/http://wwwexamplecom
http://1.2.3.4http://
https://www.example.com/free-downloadhttps://wwwexamplecom
https://www.example.com/about-us/careershttps://wwwexamplecom
www.app.example.com www.appexamplecom
www.some.app.example.com www.some.appexamplecom
some.app.example.com some.appexamplecom
some.example.com someexamplecom
example.com examplecom
http://www.example.com?q1=broken%20recordhttp://wwwexamplecom
http://www.example.com?query=khakis&app=pantshttp://wwwexamplecom
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wristhttp://wwwexamplecom

資料欄組合 3:

網址urlParamsurlParam_q1
www.example.com
example.com/support
http://www.example.com/products/
http://1.2.3.4
https://www.example.com/free-download
https://www.example.com/about-us/careers
www.app.example.com
www.some.app.example.com
some.app.example.com
some.example.com
example.com
http://www.example.com?q1=broken%20record{"q1":"broken record"}{"q1":"broken record"}
http://www.example.com?query=khakis&app=pants{"query":"khakis","app":"pants"}
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wrist{"q1":"broken record", "q2":"broken tape",
"q3":"broken wrist"}
{"q1":"broken record"}
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁