Spark DataFrame に定数列を追加するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-07 00:31:02
オリジナル
383 人が閲覧しました

How to Add a Constant Column to a Spark DataFrame?

Spark DataFrame での定数列の作成

すべての行に適用される任意の値を持つ定数列を Spark DataFrame に追加すると、次のことが可能になります。いくつかの方法で達成されます。この目的を目的とした withColumn メソッドは、2 番目の引数として直接値を指定しようとするとエラーが発生する可能性があります。

リテラル値の使用 (Spark 1.3 )

この問題を解決するには、lit を使用して目的の値のリテラル表現を作成します。

from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))
ログイン後にコピー

複雑な列の作成 (Spark 1.4 )

より複雑な列タイプの場合配列、構造体、マップなど、適切な関数を使用します。

from pyspark.sql.functions import array, struct

df.withColumn('array_column', array(lit(1), lit(2)))
df.withColumn('struct_column', struct(lit('foo'), lit(1)))
ログイン後にコピー

型付きリテラル (Spark 2.2 )

Spark 2.2 では typedLit が導入され、次のサポートが提供されます。 Seq、Map、およびタプル:

import org.apache.spark.sql.functions.typedLit

df.withColumn("some_array", typedLit(Seq(1, 2, 3)))
ログイン後にコピー

ユーザー定義関数 (UDF) の使用

または、定数値を返す UDF を作成します:

from pyspark.sql import functions as F

def constant_column(value):
    def udf(df):
        return [value for _ in range(df.count())]
    return F.udf(udf)

df.withColumn('constant_column', constant_column(10))
ログイン後にコピー

注:

これらのメソッドは、UDF または SQL 関数に定数引数を渡すために使用することもできます。

以上がSpark DataFrame に定数列を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!