DataFrame型に新しいメソッドを追加するにはどうすればよいですか?

ジャミエット

Sparkデータフレームで動作するこのScala関数があると想像してください。

class MyClass {
      def makeColumnNull(df: DataFrame, columnToMakeNull: String): DataFrame = {
        val colType = df.select(columnToMakeNull).schema.head.dataType
        df.withColumn(columnToMakeNull, lit(null).cast(colType))
      }
}

私はそれをそのように呼びます:

val df = spark.range(0,10).toDF()
val df2 = MyClass.makeColumnNull(df, "id") 

これは正常に機能しますが、SparkのAPIと同じように流暢に機能するわけではありません。私がしたいのは、これができるように関数を書き直すことです。

val df2 = df.makeColumnNull("id")

誰か助けてもらえますか?

daveoncode

暗黙のクラスが進むべき道です。私はそれらを使用していくつかのsparkクラスを拡張しました。だからあなたはこれが必要です:

package com.mycompany.utils.spark

import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.functions.lit

object DataFrameExtensions {

  implicit class DataFrameWrapper(df: DataFrame) {

    def makeColumnNull(columnToMakeNull: String): DataFrame = {
      val colType = df.select(columnToMakeNull).schema.head.dataType
      df.withColumn(columnToMakeNull, lit(null).cast(colType))
    }

  }
}

次に、インポートcom.mycompany.utils.spark.DataFrameExtensions._する必要がありmakeColumnNull()、任意のDataFrameオブジェクトに対して呼び出すことができます

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Iteratorに新しいメソッドを追加するにはどうすればよいですか?

分類Dev

FormattedStringに新しいメソッドを追加するにはどうすればよいですか?

分類Dev

Pharoに新しいメソッドを追加するにはどうすればよいですか?

分類Dev

Eclipseが新しいメソッドコメントにjavadocタグを追加しないようにするにはどうすればよいですか?

分類Dev

新しいLinkedListを生成するメソッドを作成するにはどうすればよいですか?

分類Dev

JavaのtoString()メソッドで新しい行を出力するにはどうすればよいですか?

分類Dev

..inに対して「トリガーしない」新しいArrayメソッドを追加するにはどうすればよいですか?

分類Dev

動的な数の注釈付きパラメーターをBytebuddyの新しいメソッドに追加するにはどうすればよいですか?

分類Dev

トレイトを使用してScalaのクラスに新しいメソッドを追加するにはどうすればよいですか?

分類Dev

Gradleに新しいソースセットを追加するにはどうすればよいですか?

分類Dev

Python Etsy HTTP APIメソッドを使用して新しいアイテムを追加するにはどうすればよいですか?

分類Dev

メソッドの戻り値の型を汎用にするにはどうすればよいですか?

分類Dev

Swiftのジェネリック型に型メソッドを追加するにはどうすればよいですか?

分類Dev

クラスにメソッドを動的に追加するにはどうすればよいですか?

分類Dev

内部メソッドからArrayListに値を追加するにはどうすればよいですか?

分類Dev

Pythonで既存のクラスにメソッドを追加するにはどうすればよいですか?

分類Dev

JavaScriptでMathにメソッドを追加するにはどうすればよいですか?

分類Dev

すでに実装したメソッドを実行するために、コードにonClickLIstenerを追加するにはどうすればよいですか?

分類Dev

結果を返すメソッドを追加するにはどうすればよいですか?

分類Dev

列挙型引数の拡張メソッドを作成するにはどうすればよいですか?

分類Dev

メソッドを使用して、配列に追加する新しい要素がまだ追加されていないかどうかを確認するにはどうすればよいですか?

分類Dev

各ビューに注入メソッドの追加を回避するにはどうすればよいですか?

分類Dev

AsyncTaskクラスにメソッドを追加するにはどうすればよいですか?

分類Dev

Retry TestNGメソッドにスリープを追加するにはどうすればよいですか?

分類Dev

Juliaの既存の関数にメソッドを追加するにはどうすればよいですか?

分類Dev

Bookshelf.jsモデルにcountメソッドを追加するにはどうすればよいですか?

分類Dev

dom要素に拡張メソッドを追加するにはどうすればよいですか

分類Dev

AndroidアプリにJSONgetメソッドを追加するにはどうすればよいですか

分類Dev

django as_view()メソッドに自分の属性を追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    Iteratorに新しいメソッドを追加するにはどうすればよいですか?

  2. 2

    FormattedStringに新しいメソッドを追加するにはどうすればよいですか?

  3. 3

    Pharoに新しいメソッドを追加するにはどうすればよいですか?

  4. 4

    Eclipseが新しいメソッドコメントにjavadocタグを追加しないようにするにはどうすればよいですか?

  5. 5

    新しいLinkedListを生成するメソッドを作成するにはどうすればよいですか?

  6. 6

    JavaのtoString()メソッドで新しい行を出力するにはどうすればよいですか?

  7. 7

    ..inに対して「トリガーしない」新しいArrayメソッドを追加するにはどうすればよいですか?

  8. 8

    動的な数の注釈付きパラメーターをBytebuddyの新しいメソッドに追加するにはどうすればよいですか?

  9. 9

    トレイトを使用してScalaのクラスに新しいメソッドを追加するにはどうすればよいですか?

  10. 10

    Gradleに新しいソースセットを追加するにはどうすればよいですか?

  11. 11

    Python Etsy HTTP APIメソッドを使用して新しいアイテムを追加するにはどうすればよいですか?

  12. 12

    メソッドの戻り値の型を汎用にするにはどうすればよいですか?

  13. 13

    Swiftのジェネリック型に型メソッドを追加するにはどうすればよいですか?

  14. 14

    クラスにメソッドを動的に追加するにはどうすればよいですか?

  15. 15

    内部メソッドからArrayListに値を追加するにはどうすればよいですか?

  16. 16

    Pythonで既存のクラスにメソッドを追加するにはどうすればよいですか?

  17. 17

    JavaScriptでMathにメソッドを追加するにはどうすればよいですか?

  18. 18

    すでに実装したメソッドを実行するために、コードにonClickLIstenerを追加するにはどうすればよいですか?

  19. 19

    結果を返すメソッドを追加するにはどうすればよいですか?

  20. 20

    列挙型引数の拡張メソッドを作成するにはどうすればよいですか?

  21. 21

    メソッドを使用して、配列に追加する新しい要素がまだ追加されていないかどうかを確認するにはどうすればよいですか?

  22. 22

    各ビューに注入メソッドの追加を回避するにはどうすればよいですか?

  23. 23

    AsyncTaskクラスにメソッドを追加するにはどうすればよいですか?

  24. 24

    Retry TestNGメソッドにスリープを追加するにはどうすればよいですか?

  25. 25

    Juliaの既存の関数にメソッドを追加するにはどうすればよいですか?

  26. 26

    Bookshelf.jsモデルにcountメソッドを追加するにはどうすればよいですか?

  27. 27

    dom要素に拡張メソッドを追加するにはどうすればよいですか

  28. 28

    AndroidアプリにJSONgetメソッドを追加するにはどうすればよいですか

  29. 29

    django as_view()メソッドに自分の属性を追加するにはどうすればよいですか?

ホットタグ

アーカイブ