ホームページ >バックエンド開発 >Python チュートリアル >Apache Spark で IF then ELSE ステートメントをレプリケートするにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。