ホームページ  >  記事  >  バックエンド開発  >  Spark DataFrame に定数列を追加するにはどうすればよいですか?

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-08 15:04:01270ブラウズ

How Do I Add a Constant Column to a Spark DataFrame?

Spark DataFrame への定数列の追加

withColumn と定数値を使用して DataFrame に新しい列を追加しようとすると、ユーザーはデータ型の不一致によりエラーが発生する可能性があります。

解決策:

Spark 2.2 :

typedLit を使用して直接割り当てますさまざまなタイプの定数値:

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

df.withColumn("some_array", typedLit(Seq(1, 2, 3)))

Spark 1.3 :

lit を使用してリテラル値を作成します:

from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))

Spark 1.4 :

複雑な列の場合は、array、struct、create_map などの関数ブロックを使用します:

from pyspark.sql.functions import array, struct, create_map

df.withColumn("some_array", array(lit(1), lit(2), lit(3)))

Scala の場合:

import org.apache.spark.sql.functions.{array, lit, map, struct}

df.withColumn("new_column", lit(10))
df.withColumn("map", map(lit("key1"), lit(1), lit("key2"), lit(2)))

構造体の場合、各フィールドでエイリアスを使用するか、オブジェクト全体にキャストして名前を指定します:

df.withColumn(
    "some_struct",
    struct(lit("foo").alias("x"), lit(1).alias("y"), lit(0.3).alias("z"))
 )

注:

これらの構造は、定数引数をオブジェクトに渡すために使用することもできます。 UDF または SQL 関数。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。