列の個別の値に基づいて列の値を計算するApacheSpark

ジュナイド

次のテーブルを処理しています。他の2つの列の個別の値に基づいて、新しい列(結果)を計算したいと思います。

| id1  | id2 | outcome
|  1   |  1  |  1
|  1   |  1  |  1
|  1   |  3  |  2
|  2   |  5  |  1 
|  3   |  1  |  1  
|  3   |  2  |  2
|  3   |  3  |  3

結果は、との合計値に基づいて、1から始まる増分順に開始する必要がid1ありid2ます。Scalaでこれをどのように達成できるかについてのヒント。row_numberこの場合、ここでは役に立たないようです。

ここでのロジックは、の一意の値ごとに、対応する値1が割り当てられているid1min(id2)で結果に番号を付け始めるid1ことです。

コール

あなたはdense_rank()を試すことができます

あなたの例で

      val df = sqlContext
        .read
        .option("sep","|")
        .option("header", true)
        .option("inferSchema",true)
        .csv("/home/cloudera/files/tests/ids.csv") // Here we read the .csv files
        .cache()

      df.show()
      df.printSchema()

      df.createOrReplaceTempView("table")
      sqlContext.sql(
        """
          |SELECT id1, id2, DENSE_RANK() OVER(PARTITION BY id1 ORDER BY id2) AS outcome
          |FROM table
          |""".stripMargin).show()

出力

+---+---+-------+
|id1|id2|outcome|
+---+---+-------+
|  2|  5|      1|
|  1|  1|      1|
|  1|  1|      1|
|  1|  3|      2|
|  3|  1|      1|
|  3|  2|      2|
|  3|  3|      3|
+---+---+-------+

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

別の列の値に基づいて列を乗算する

分類Dev

PHPの別の列値に基づいて列値を計算します

分類Dev

別の列に基づいて値を合計してから減算する

分類Dev

別の列の値に基づいてRの列の値aを減算する

分類Dev

Excel-別の列の個別の値に基づいて値を合計する

分類Dev

階層に基づいて列の値を計算する方法

分類Dev

個別の列値に基づいて行を選択する

分類Dev

別の列に基づいて列の平均を計算する

分類Dev

別の列に基づいて1つの列の値を減算する

分類Dev

別の列の値に基づいて、ある列の再帰を条件付きで計算します

分類Dev

別の列の値に基づいて、ある列の再帰を条件付きで計算します

分類Dev

別の列の値に基づいて行の加重合計を計算する方法

分類Dev

SQL-他の列の値に基づいて計算列を追加する方法

分類Dev

別の列laravelに基づいて列を計算する

分類Dev

複数の行の値に基づいて新しい列を計算する

分類Dev

別の列に基づいて次のn行の平均値を計算する方法-SQL(Oracle)

分類Dev

別の列の値IDに依存する毎月に基づいて支出額を計算します

分類Dev

時間列に基づいて値の合計年齢を計算する

分類Dev

別の列の1つの列に基づいて行の値を見つけ、計算を行います

分類Dev

別の列値に基づいて列値を更新する

分類Dev

別の列値に基づいて列値を変更する

分類Dev

別の列の値に基づいてdfの行を減算する方法

分類Dev

他の列の値に基づいて列を乗算する

分類Dev

別の列に基づいて1つの列の合計を計算する

分類Dev

別の列に基づいて列の間隔の合計を計算する

分類Dev

列の値に基づいて行列の平均を計算する方法

分類Dev

列2の個別の値に基づいて行を取得する

分類Dev

他の列で異なる行の値に基づいて3番目の列の値を計算します

分類Dev

別の列の値に基づいて列を検索する

Related 関連記事

  1. 1

    別の列の値に基づいて列を乗算する

  2. 2

    PHPの別の列値に基づいて列値を計算します

  3. 3

    別の列に基づいて値を合計してから減算する

  4. 4

    別の列の値に基づいてRの列の値aを減算する

  5. 5

    Excel-別の列の個別の値に基づいて値を合計する

  6. 6

    階層に基づいて列の値を計算する方法

  7. 7

    個別の列値に基づいて行を選択する

  8. 8

    別の列に基づいて列の平均を計算する

  9. 9

    別の列に基づいて1つの列の値を減算する

  10. 10

    別の列の値に基づいて、ある列の再帰を条件付きで計算します

  11. 11

    別の列の値に基づいて、ある列の再帰を条件付きで計算します

  12. 12

    別の列の値に基づいて行の加重合計を計算する方法

  13. 13

    SQL-他の列の値に基づいて計算列を追加する方法

  14. 14

    別の列laravelに基づいて列を計算する

  15. 15

    複数の行の値に基づいて新しい列を計算する

  16. 16

    別の列に基づいて次のn行の平均値を計算する方法-SQL(Oracle)

  17. 17

    別の列の値IDに依存する毎月に基づいて支出額を計算します

  18. 18

    時間列に基づいて値の合計年齢を計算する

  19. 19

    別の列の1つの列に基づいて行の値を見つけ、計算を行います

  20. 20

    別の列値に基づいて列値を更新する

  21. 21

    別の列値に基づいて列値を変更する

  22. 22

    別の列の値に基づいてdfの行を減算する方法

  23. 23

    他の列の値に基づいて列を乗算する

  24. 24

    別の列に基づいて1つの列の合計を計算する

  25. 25

    別の列に基づいて列の間隔の合計を計算する

  26. 26

    列の値に基づいて行列の平均を計算する方法

  27. 27

    列2の個別の値に基づいて行を取得する

  28. 28

    他の列で異なる行の値に基づいて3番目の列の値を計算します

  29. 29

    別の列の値に基づいて列を検索する

ホットタグ

アーカイブ