Spark - Spark SQL Влияет и создает подмассивы - PullRequest
0 голосов
/ 02 декабря 2018

Я строю фрейм данных, используя фреймы данных и имплициты, и не могу понять, как построить подмассив.Я могу использовать «struct» отлично, и могу псевдоним его результата, однако я не вижу, как сделать подобное для подмассива и псевдоним его.Я использую Scala и Spark 2.1, ниже приведено упрощение, так как мы выполняем суб-преобразования, и массивы могут быть глубже, но интересно, как построить псевдонимный массив таким образом?

Любая помощь высоко ценится, спасибо!

, например, ниже работает

import spark.sqlContext.implicits._

    val newDf = oldDF
          .select(
            $"id",
            $"field1",
            $"field2",
            $"field3",
            struct( 
               $"field4.sub1",
               $"field4.sub2"
            ).alias("field4")
          )

, однако это не

import spark.sqlContext.implicits._

        val newDf = oldDF
              .select(
                $"id",
                $"field1",
                $"field2",
                $"field3",
                struct( 
                   $"field4.sub1",
                   $"field4.sub2"
                ).alias("field4"),
                array(
                   $"field5.sub1",
                   $"field5.sub2"
                ).alias("field5")
              )

И

import spark.sqlContext.implicits._

            val newDf = oldDF
                  .select(
                    $"id",
                    $"field1",
                    $"field2",
                    $"field3",
                    struct( 
                       $"field4.sub1",
                       $"field4.sub2"
                    ).alias("field4"),
                    array(
                       struct(
                          $"field5.sub1",
                          $"field5.sub2"
                       )
                    ).alias("field5")
                  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...