복붙노트

[HADOOP] 선택 스파크 및 별명에 열을 추가

HADOOP

선택 스파크 및 별명에 열을 추가

나는 공간 패딩과 같은 몇 가지 열이 거의 열 또는 분할을 추가하고 별칭으로 새 이름을 저장, 몇 열을 선택합니다. SQL의 예를 들어 뭔가를 같이해야한다 :

select "   " as col1, b as b1, c+d as e from table 

어떻게 불꽃이 달성 할 수 있습니까?

해결법

  1. ==============================

    1.당신은 또한뿐만 아니라 네이티브 DF 기능을 사용할 수 있습니다. 예를 들어 주어진 :

    당신은 또한뿐만 아니라 네이티브 DF 기능을 사용할 수 있습니다. 예를 들어 주어진 :

    import org.apache.spark.sql.functions._
    val df1 = Seq(
     ("A",1,5,3),
     ("B",3,4,2),
     ("C",4,6,3),
     ("D",5,9,1)).toDF("a","b","c","d")
    

    열을로 선택 :

    df1.select(lit(" ").as("col1"),
               col("b").as("b1"),
               (col("c") + col("d")).as("e"))
    

    당신에게 예상 된 결과를 제공합니다 :

    +----+---+---+
    |col1| b1|  e|
    +----+---+---+
    |    |  1|  8|
    |    |  3|  6|
    |    |  4|  9|
    |    |  5| 10|
    +----+---+---+
    
  2. ==============================

    2.스파크-SQL, 당신은 같은 방법으로 할 수 있습니다.

    스파크-SQL, 당신은 같은 방법으로 할 수 있습니다.

    import org.apache.spark.sql.functions._
    val df1 = Seq(
     ("A",1,5,3),
     ("B",3,4,2),
     ("C",4,6,3),
     ("D",5,9,1)).toDF("a","b","c","d")
    
    df1.createOrReplaceTempView("table")
    df1.show()
    
    val df2 = spark.sql("select ' ' as col1, b as b1, c+d as e from table ").show()
    

    입력:

        +---+---+---+---+
        |  a|  b|  c|  d|
        +---+---+---+---+
        |  A|  1|  5|  3|
        |  B|  3|  4|  2|
        |  C|  4|  6|  3|
        |  D|  5|  9|  1|
        +---+---+---+---+
    

    출력 :

    +----+---+---+
    |col1| b1|  e|
    +----+---+---+
    |    |  1|  8|
    |    |  3|  6|
    |    |  4|  9|
    |    |  5| 10|
    +----+---+---+
    
  3. from https://stackoverflow.com/questions/52538943/spark-select-and-add-columns-with-alias by cc-by-sa and MIT license