import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._
object Solution {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local[4]").setAppName("SparkClusterApp")
val sparkSession = SparkSession.builder.config(sparkConf).getOrCreate
import sparkSession.implicits._
val df = Seq((1, "a,b,c"),(2, "b,c")).toDF("id", "page_path")
df.createOrReplaceTempView("df")
df.withColumn("_tmp", split($"page_path", "\\,")).select( $"id",
when(array_contains($"_tmp","a"),"1").otherwise("0").as("is_a"),
when(array_contains($"_tmp","b"),"1").otherwise("0").as("is_b"),
when(array_contains($"_tmp","c"),"1").otherwise("0").as("is_c")).show()
}
}