メインコンテンツまでスキップ

try_element_at

コレクション関数: マップ内の指定されたキーに対して、指定された (1 から始まる) インデックスまたは値にある配列の要素を返します。配列の場合、インデックスが 0 の場合、Spark はエラーをスローします。インデックス < 0 の場合、最後の要素から最初の要素にアクセスします。インデックスが配列の長さを超える場合、関数は常に NULL を返します。マップの場合、キーがマップに含まれていない場合、関数は常に NULL を返します。

対応する Databricks SQL 関数については、 try_element_at関数を参照してください。

構文

Python
from pyspark.databricks.sql import functions as dbf

dbf.try_element_at(col=<col>, extraction=<extraction>)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または str

配列またはマップを含む列の名前。

extraction

pyspark.sql.Column または str

配列内でチェックするインデックス、またはマップ内でチェックするキー。

例1 :配列の最初の要素を取得する

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(dbf.try_element_at(df.data, dbf.lit(1))).show()
Output
+-----------------------+
|try_element_at(data, 1)|
+-----------------------+
| a|
+-----------------------+

例2 : 負のインデックスを使用して配列の最後の要素を取得する

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(dbf.try_element_at(df.data, dbf.lit(-1))).show()
Output
+------------------------+
|try_element_at(data, -1)|
+------------------------+
| c|
+------------------------+