データフレームの複雑な列の配列 (ケース クラス) を含む udf を作成する方法

デサント pv

Arraytype> の複雑な列データ型を持つデータフレームがあります。このデータフレームを変換するために、Array [ケースクラス] をパラメーターとして使用してこの列を使用できる udf を作成しました。ここでの主なボトルネックは、stucttype に従ってケース クラスを作成するときに、structfield 名に「##field」などの特殊文字が含まれていることです。そこで、このようにケースクラス ( ##field) のようにケースクラスに同じ名前を付けて、これを udf パラメータにアタッチします。Spark udf 定義で解釈された後、ケース クラス フィールドの名前をこの "$hash$hashfield" に変更します。このデータフレームを使用して変換を実行すると、このミスマッチのために失敗します。助けてください ...

アルトゥール・ラシトフ

エンコードされた形式とマップすることはできません現在、スパークでのJVMの制限Scalaの店舗識別子に起因##fieldします$hash$hashfield

考えられる解決策の 1 つは、生の行からフィールドを手動で抽出することです (ただし、フィールドの順序を知る必要があります。そのためにdf使用できますdf.schema)。

val myUdf = udf { (struct: Row) =>
  // Pattern match struct:
  struct match {
    case Row(a: String) => Foo(a)
  }

  // .. or extract values from Row
  val `##a` = struct.getAs[String](0)
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonで複数のリスト/配列を含むデータフレームを作成する方法

分類Dev

行全体の複雑なロジックを含むPythonpandasデータフレームに列を追加します

分類Dev

udfを使用して配列を含むsparkデータフレーム列を更新する方法

分類Dev

構造体またはクラスの配列をUDFからデータフレーム列の値に返す方法は?

分類Dev

スペースの複雑さ-配列を含むさまざまなケースの関数

分類Dev

スペースの複雑さ-配列を含むさまざまなケースの関数

分類Dev

配列の列を含むPandasデータフレームで条件付きスライスを実行するより高速な方法

分類Dev

lubridateパッケージのクラス間隔の列を含む複数のデータフレームの行のバインド

分類Dev

文字列を含むデータフレーム内の数値のみをスケーリングする

分類Dev

ケースを含むSQLServer

分類Dev

Python:指定されたインデックス番号の配列からの行のみを含む新しいデータフレームを作成する

分類Dev

Javaでジェネリックスを含むカスタムクラスの配列を作成する方法

分類Dev

Rのデータフレームに最小値を含む列のインデックスを返す方法

分類Dev

forループなしでデータフレーム内の複数の列のクラスを変更する

分類Dev

各列のすべての行にリストを含むデータフレームを変換する方法

分類Dev

文字列のリストを含むデータフレーム列で文字列を検索し、完全なデータフレームを返します

分類Dev

パスを含むデータフレーム列からデータフレームへのdictの抽出

分類Dev

Rの要素のリストを含む別のデータフレームのa.character列からデータフレームを作成する

分類Dev

スカラー列と配列列の両方を含む、PostgreSQLでの複数列インデックスの作成

分類Dev

複雑なデータを含むRのigraphを使用してグラフを作成する

分類Dev

パンダのデータフレームで複雑なスライスをベクトル化する

分類Dev

XMLはデータのプレーンシーケンスを複雑なデータ配列にマップします

分類Dev

XMLはデータのプレーンシーケンスを複雑なデータ配列にマップします

分類Dev

データフレーム列と外部リストをwithColumnの下のudfに渡す

分類Dev

リストを含むパンダの列をデータフレームに変換する方法

分類Dev

JavaScriptで複数のスペースを含む文字列を作成する方法

分類Dev

Pythonのリストにある文字列を含むデータフレーム列のすべての行を識別する最も効率的な方法は?

分類Dev

データフレームの複数の列をスタックして単一の列を作成する

分類Dev

JSONオブジェクトの配列を含むSparkデータフレーム列を複数の行に変換します

Related 関連記事

  1. 1

    Pythonで複数のリスト/配列を含むデータフレームを作成する方法

  2. 2

    行全体の複雑なロジックを含むPythonpandasデータフレームに列を追加します

  3. 3

    udfを使用して配列を含むsparkデータフレーム列を更新する方法

  4. 4

    構造体またはクラスの配列をUDFからデータフレーム列の値に返す方法は?

  5. 5

    スペースの複雑さ-配列を含むさまざまなケースの関数

  6. 6

    スペースの複雑さ-配列を含むさまざまなケースの関数

  7. 7

    配列の列を含むPandasデータフレームで条件付きスライスを実行するより高速な方法

  8. 8

    lubridateパッケージのクラス間隔の列を含む複数のデータフレームの行のバインド

  9. 9

    文字列を含むデータフレーム内の数値のみをスケーリングする

  10. 10

    ケースを含むSQLServer

  11. 11

    Python:指定されたインデックス番号の配列からの行のみを含む新しいデータフレームを作成する

  12. 12

    Javaでジェネリックスを含むカスタムクラスの配列を作成する方法

  13. 13

    Rのデータフレームに最小値を含む列のインデックスを返す方法

  14. 14

    forループなしでデータフレーム内の複数の列のクラスを変更する

  15. 15

    各列のすべての行にリストを含むデータフレームを変換する方法

  16. 16

    文字列のリストを含むデータフレーム列で文字列を検索し、完全なデータフレームを返します

  17. 17

    パスを含むデータフレーム列からデータフレームへのdictの抽出

  18. 18

    Rの要素のリストを含む別のデータフレームのa.character列からデータフレームを作成する

  19. 19

    スカラー列と配列列の両方を含む、PostgreSQLでの複数列インデックスの作成

  20. 20

    複雑なデータを含むRのigraphを使用してグラフを作成する

  21. 21

    パンダのデータフレームで複雑なスライスをベクトル化する

  22. 22

    XMLはデータのプレーンシーケンスを複雑なデータ配列にマップします

  23. 23

    XMLはデータのプレーンシーケンスを複雑なデータ配列にマップします

  24. 24

    データフレーム列と外部リストをwithColumnの下のudfに渡す

  25. 25

    リストを含むパンダの列をデータフレームに変換する方法

  26. 26

    JavaScriptで複数のスペースを含む文字列を作成する方法

  27. 27

    Pythonのリストにある文字列を含むデータフレーム列のすべての行を識別する最も効率的な方法は?

  28. 28

    データフレームの複数の列をスタックして単一の列を作成する

  29. 29

    JSONオブジェクトの配列を含むSparkデータフレーム列を複数の行に変換します

ホットタグ

アーカイブ