要素_at
コレクション関数: マップ内の指定されたキーに対して、指定された (1 から始まる) インデックスまたは値にある配列の要素を返します。配列の場合、インデックスが 0 の場合、Spark はエラーをスローします。インデックス < 0 の場合、最後の要素から最初の要素にアクセスします。'spark.sql.ansi.enabled' が true に設定されている場合、インデックスが配列の境界外にあると NULL を返す代わりに例外がスローされます。マップの場合、キーがマップに含まれていない場合、関数は常に NULL を返します。Spark Connect をサポートします。
対応する Databricks SQL 関数については、 element_at関数を参照してください。
構文
Python
from pyspark.databricks.sql import functions as dbf
dbf.element_at(col=<col>, extraction=<extraction>)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| 配列またはマップを含む列の名前。 |
| すべて | 配列内でチェックするインデックス、またはマップ内でチェックするキー。 |
戻り値
pyspark.sql.Column: 指定された位置の値。
例
例1 :配列の最初の要素を取得する
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(dbf.element_at(df.data, 1)).show()
Output
+-------------------+
|element_at(data, 1)|
+-------------------+
| a|
+-------------------+
例2 : キーを使ってマップから値を取得する
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([({"a": 1.0, "b": 2.0},)], ['data'])
df.select(dbf.element_at(df.data, dbf.lit("a"))).show()
Output
+-------------------+
|element_at(data, a)|
+-------------------+
| 1.0|
+-------------------+