Scala код для замены пустых значений столбца в кадре данных в форме списка - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь заменить нулевые значения из набора данных, который находится в форме списка. Я использовал приведенный ниже код, но не дал желаемого результата. Что мне делать?

Я использую следующий код:

 val mergedDS =customerDS.join(acctstep1,Seq("customerId"),"outer")
    .withColumn("numberAccounts", 'numberAccounts.cast("Int"))
    .withColumn("totalBalance",'totalBalance.cast("Long"))

  // Lets remove all the accounts with missing values for customers
  val customerAccountOutputDS = mergedDS.as[CustomerAccountOutput].na.fill(0).show(false)
  print(customerAccountOutputDS)

введите описание изображения здесь

1 Ответ

0 голосов
/ 23 апреля 2020
import org.apache.spark.sql.functions._
import org.apache.spark.sql.SparkSession;
object DefaultEmptyArray {

  def main(args: Array[String]): Unit = {
    val input = List(Bean(List("A","B")),Bean(null),Bean(List("C","D")))
    val spark = SparkSession.builder().master("local[*]").getOrCreate();
    val df  = spark.createDataFrame(input)

    df.select("inputList")
      .withColumn("outputList",when(col("inputList").isNull,Array[String]()).otherwise(col("inputList")))
      .show()
  }
}

case class Bean( inputList : List[String])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...