try_parse_url

Bu, aynı işlemi gerçekleştiren, ancak ayrıştırma gerçekleştirilemiyorsa hata oluşturmak yerine NULL değer döndüren özel bir sürümüdür parse_url .

Sözdizimi

from pyspark.sql import functions as sf

sf.try_parse_url(url, partToExtract, key=None)

Parametreler

Parametre Türü Description
url pyspark.sql.Column veya str Her biri bir URL'yi temsil eden bir dize sütunu.
partToExtract pyspark.sql.Column veya str Her biri URL'den ayıklanan bölümü temsil eden bir dize sütunu.
key pyspark.sql.Column veya str, isteğe bağlı Her biri URL'deki bir sorgu parametresinin anahtarını temsil eden bir dize sütunu.

İade

pyspark.sql.Column: Her biri URL'den ayıklanan bölümün değerini temsil eden yeni bir dize sütunu.

Örnekler

Örnek 1: SORGU bölümünü URL'den ayıklama

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "QUERY")],
  ["url", "part"]
)
df.select(sf.try_parse_url(df.url, df.part)).show()
+------------------------+
|try_parse_url(url, part)|
+------------------------+
|                 query=1|
+------------------------+

Örnek 2: URL'den belirli bir sorgu parametresinin değerini ayıklama

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "QUERY", "query")],
  ["url", "part", "key"]
)
df.select(sf.try_parse_url(df.url, df.part, df.key)).show()
+-----------------------------+
|try_parse_url(url, part, key)|
+-----------------------------+
|                            1|
+-----------------------------+

Örnek 3: URL'den protokol bölümünü ayıklama

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "PROTOCOL")],
  ["url", "part"]
)
df.select(sf.try_parse_url(df.url, df.part)).show()
+------------------------+
|try_parse_url(url, part)|
+------------------------+
|                   https|
+------------------------+

Örnek 4: Url'den konak bölümünü ayıklama

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "HOST")],
  ["url", "part"]
)
df.select(sf.try_parse_url(df.url, df.part)).show()
+------------------------+
|try_parse_url(url, part)|
+------------------------+
|        spark.apache.org|
+------------------------+

Örnek 5: Url'den yol bölümünü ayıklama

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "PATH")],
  ["url", "part"]
)
df.select(sf.try_parse_url(df.url, df.part)).show()
+------------------------+
|try_parse_url(url, part)|
+------------------------+
|                   /path|
+------------------------+

Örnek 6: Geçersiz URL

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("inva lid://spark.apache.org/path?query=1", "QUERY", "query")],
  ["url", "part", "key"]
)
df.select(sf.try_parse_url(df.url, df.part, df.key)).show()
+-----------------------------+
|try_parse_url(url, part, key)|
+-----------------------------+
|                         NULL|
+-----------------------------+