지정된(0부터 시작하는) 인덱스에서 배열의 요소를 반환합니다. 인덱스가 배열 경계를 벗어나면 이 함수는 NULL을 반환합니다. 위치는 1부터 시작하는 것이 아니라 0부터 시작하는 인덱스입니다.
문법
from pyspark.sql import functions as sf
sf.get(col, index)
매개 변수
| 매개 변수 | 유형 | Description |
|---|---|---|
col |
pyspark.sql.Column 또는 str |
배열을 포함하는 열의 이름입니다. |
index |
pyspark.sql.Column, str 또는 int |
배열에서 확인할 인덱스입니다. |
Returns
pyspark.sql.Column: 지정된 위치에 있는 값입니다.
예시
예제 1: 고정된 위치에 요소 가져오기
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(sf.get(df.data, 1)).show()
+------------+
|get(data, 1)|
+------------+
| b|
+------------+
예제 2: 배열 경계 외부의 위치에 있는 요소 가져오기
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(sf.get(df.data, 3)).show()
+------------+
|get(data, 3)|
+------------+
| NULL|
+------------+
예제 3: 다른 열에 지정된 위치에 있는 요소 가져오기
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], 2)], ['data', 'index'])
df.select(sf.get(df.data, df.index)).show()
+----------------+
|get(data, index)|
+----------------+
| c|
+----------------+
예제 4: 다른 열에서 계산된 위치에 있는 요소 가져오기
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], 2)], ['data', 'index'])
df.select(sf.get(df.data, df.index - 1)).show()
+----------------------+
|get(data, (index - 1))|
+----------------------+
| b|
+----------------------+
예제 5: 음수 위치에 요소 가져오기
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], )], ['data'])
df.select(sf.get(df.data, -1)).show()
+-------------+
|get(data, -1)|
+-------------+
| NULL|
+-------------+