全部產品
Search
文件中心

MaxCompute:PARSE_URL_TUPLE

更新時間:Feb 28, 2024

url解析後,按照輸入的一組鍵key1key2等抽取各個鍵指定的字串。

注意事項

該功能與PARSE_URL類似,但它可以同時提取多個鍵對應的字串,效能更優。

命令格式

string parse_url_tuple(string <url>, string <key1>, string <key2>,...)

參數說明

  • url:必填。STRING類型。URL連結。無效URL連結會返回報錯。

  • key1key2:必填。STRING類型。指定要抽取的鍵。取值範圍如下:

    • HOST:擷取主機地址,可以為網域名稱或IP地址。

    • PATH:擷取網路資源在伺服器中的路徑。

    • QUERY:查詢字串,指代待查詢的內容。

    • REF:擷取URL注釋。滑鼠移至上方至URL連結上時顯示的內容。

    • PROTOCOL:擷取協議類型。

    • AUTHORITY:擷取伺服器的網域名稱或IP地址、連接埠號碼和使用者鑒權資訊(例如使用者名稱、密碼)。

    • FILE:擷取網路資源在伺服器中的路徑和待查詢的內容,即由PATH和QUERY組成。

    • USERINFO:使用者鑒權資訊。

    • QUERY:<KEY>:擷取查詢字串中指定欄位(Key)的取值。

    不區分大小寫。不在該範圍內的取值會返回報錯。

返回說明

返回STRING類型。urlkey值為NULL時,返回報錯。

使用樣本

抽取file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose中各個鍵對應的字串。命令樣本如下。

select parse_url_tuple('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'HOST', 'PATH', 'QUERY', 'REF', 'PROTOCOL', 'AUTHORITY', 'FILE', 'USERINFO', 'QUERY:type', 'QUERY:name') as (item0, item1, item2, item3, item4, item5, item6, item7, item8, item9);

返回結果如下。

+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+
| item0      | item1      | item2      | item3      | item4      | item5      | item6      | item7      | item8      | item9      |
+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+
| example.com | /over/there/index.dtb | type=animal&name=narwhal | nose       | file       | username:password@example.com:8042 | /over/there/index.dtb?type=animal&name=narwhal | username:password | animal     | narwhal    |
+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+

相關函數

PARSE_URL_TUPLE函數屬於字串函數,更多尋找字串、轉換字串格式的相關函數請參見字串函數