区切り記号を使用して入力配列列の要素を連結して、文字列列を返します。 配列内の null 値は、null_replacement引数を使用して指定した文字列に置き換えることができます。 null_replacementが設定されていない場合、null 値は無視されます。
構文
from pyspark.sql import functions as sf
sf.array_join(col, delimiter, null_replacement=None)
パラメーター
| パラメーター | タイプ | Description |
|---|---|---|
col |
pyspark.sql.Column または str |
結合する配列を含む入力列。 |
delimiter |
str | 配列要素を結合するときに区切り記号として使用される文字列。 |
null_replacement |
str、省略可能 | 配列内の null 値を置き換える文字列。 設定しない場合、null 値は無視されます。 |
返品ポリシー
pyspark.sql.Column: 文字列型の新しい列。各値は、入力列から対応する配列を結合した結果です。
例示
例 1: array_join関数の基本的な使用方法。
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],), (["a", "b"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
| a,b,c|
| a,b|
+-------------------+
例 2: null_replacement引数を使用array_join関数の使用法。
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",", "NULL")).show()
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
| a,NULL,c|
+-------------------------+
例 3: 引数を指定せずにarray_join関数null_replacement使用する。
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
| a,c|
+-------------------+
例 4: null の配列array_join関数の使用法。
from pyspark.sql import functions as sf
from pyspark.sql.types import StructType, StructField, ArrayType, StringType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([(None,)], schema)
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
| NULL|
+-------------------+
例 5: null 値のみを含む配列array_join関数の使用法。
from pyspark.sql import functions as sf
from pyspark.sql.types import StructType, StructField, ArrayType, StringType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([([None, None],)], schema)
df.select(sf.array_join(df.data, ",", "NULL")).show()
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
| NULL,NULL|
+-------------------------+