Apache Spark で IF then ELSE ステートメントをレプリケートするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-16 06:34:03
オリジナル
975 人が閲覧しました

How to Replicate an IF Then ELSE Statement in Apache Spark?

Spark IF then ELSE と同等

Spark では、when() 関数を使用して条件式を列に適用できます。この関数を使用すると、さまざまな条件に対して true と false の値を指定できます。

コード エラーと解決策

when() の使用法が間違っているため、コードはエラーをスローします。関数。 when() の正しい構文は次のとおりです:

when(condition, value).when(...)
ログイン後にコピー

または

when(condition, value).otherwise(...)
ログイン後にコピー

コードでは、when() 関数に 3 つの引数を指定していますが、これは正しくありません。これを修正するには、コードを次のように書き直す必要があります。

iris_spark_df = iris_spark.withColumn(
    "Class", 
    F.when(iris_spark.iris_class == 'Iris-setosa', 0)
    .when(iris_spark.iris_class == 'Iris-versicolor', 1)
    .otherwise(2)
)
ログイン後にコピー

同等の SQL 式

Spark when() 関数は、次の CASE ステートメントと同等です。 SQL:

CASE
    WHEN (iris_class = 'Iris-setosa') THEN 0
    WHEN (iris_class = 'Iris-versicolor') THEN 1
    ELSE 2
END
ログイン後にコピー

以上がApache Spark で IF then ELSE ステートメントをレプリケートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート