Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Meniru Pernyataan IF Then ELSE dalam Apache Spark?
Spark Equivalent of IF Then ELSE
Dalam Spark, anda boleh menggunakan ungkapan bersyarat pada lajur menggunakan fungsi when(). Fungsi ini membolehkan anda menentukan nilai benar dan salah untuk keadaan yang berbeza.
Ralat dan Penyelesaian Kod
Kod anda membuang ralat kerana anda tersalah menggunakan when() fungsi. Sintaks yang betul untuk when() ialah:
when(condition, value).when(...)
atau
when(condition, value).otherwise(...)
Dalam kod anda, anda telah memberikan tiga argumen kepada fungsi when(), yang tidak betul. Untuk membetulkannya, anda perlu menulis semula kod anda seperti berikut:
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) )
Equivalent SQL Expression
Fungsi Spark when() adalah bersamaan dengan pernyataan CASE dalam SQL:
CASE WHEN (iris_class = 'Iris-setosa') THEN 0 WHEN (iris_class = 'Iris-versicolor') THEN 1 ELSE 2 END
Atas ialah kandungan terperinci Bagaimana untuk Meniru Pernyataan IF Then ELSE dalam Apache Spark?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!