問題タブ [apache-spark-encoders]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
22048 参照

scala - ケースクラスを使用して JSON をエンコードすると、「データセットに格納されている型のエンコーダーが見つかりません」というエラーが表示されるのはなぜですか?

私はスパークジョブを書きました:

IDE で main 関数を実行すると、次の 2 つのエラーが発生します。

しかし、Spark Shell では、このジョブをエラーなしで実行できます。何が問題ですか?

0 投票する
3 に答える
22619 参照

scala - Spark 2.X データセットでカスタム エンコーダーを作成するには?

Spark データセットは、Row からEncoderPojo/プリミティブの に移動します。Catalystエンジンは を使用して、SQL 式のExpressionEncoder列を変換します。Encoderただし、独自の実装のテンプレートとして使用できる他のサブクラスはないようです。

これは、Spark 1.X / DataFrames で問題なく、新しい体制でコンパイルされないコードの例です。

}

のコンパイラエラーが発生します

したがって、どういうわけか/どこかに手段があるはずです

  • カスタム Encoder を定義/実装する
  • でマッピングを実行するときにそれを適用しますDataFrame(現在はタイプのデータセットですRow)
  • 他のカスタム コードで使用するエンコーダーを登録します。

これらの手順を正常に実行するコードを探しています。

0 投票する
1 に答える
6643 参照

scala - Apache Spark 2.0: java.lang.UnsupportedOperationException: java.time.LocalDate のエンコーダが見つかりません

私は Apache Spark 2.0 を使用しておりcase class、言及用のスキーマを作成していますDetaSetHow to store custom objects in Dataset?に従ってカスタム エンコーダーを定義しようとすると、、java.time.LocalDate次の例外が発生したため:

以下はコードによるものです:

Spark 用のサードパーティ API のエンコーダーを定義するにはどうすればよいですか?

アップデート

ケース クラス全体のエンコーダを作成するときはdf.map..、次のようにオブジェクトをバイナリにマップします。

FireService のマップを期待していますが、マップのバイナリを返します。

0 投票する
1 に答える
3661 参照

scala - Spark データセットと java.sql.Date

Dataset次のようなSpark があるとします。

Dataset名前と日付フィールドのみで新しいを作成したい。私が見る限り、 with を使用するか、ds.select()withTypedColumnを使用ds.select()してColumnを に変換DataFrameできますDataset

ただし、前のオプションをそのDateタイプで使用することはできません。例えば:

後のオプションが機能します。

行ったり来たりせずにDateフィールドを選択する方法はありますか?DatasetDataFrame

0 投票する
3 に答える
29125 参照

scala - scala リストを DataFrame または DataSet に変換する

私はScalaが初めてです。スカラ リスト (ソース DataFrame で計算されたデータの結果を保持している) を Dataframe または Dataset に変換しようとしています。私はそれを行うための直接的な方法を見つけていません。ただし、リストを DataSet に変換するために次のプロセスを試みましたが、機能していないようです。以下の3つの状況を提供しています。

この変換を行う方法を教えてください。ありがとう。

0 投票する
4 に答える
39758 参照

scala - データフレーム行を更新された行にマップしようとしているときにエンコーダー エラーが発生しました

以下で説明するように、コードで同じことをしようとしているとき

ここから上記の参照を取得しました: Scala: How can I replace value in Dataframs using scala しかし、エンコーダーエラーが発生しています

データセットに格納されているタイプのエンコーダが見つかりません。プリミティブ型 (Int、S string など) と Product 型 (ケース クラス) は、spark.im plicits をインポートすることでサポートされます。_ 他の型をシリアル化するためのサポートは、将来のリリースで追加される予定です。

注: 私は spark 2.0 を使用しています!

0 投票する
1 に答える
13470 参照

scala - Spark エラー: データセットに格納されているタイプのエンコーダーが見つかりません

Zeppelin ノートブックで Spark を使用していますが、groupByKey() が機能していないようです。

このコード:

このエラーが表示されます (おそらく、コンパイル エラーです。作業中のデータセットがかなり大きいため、すぐに表示されるためです)。

ケースクラスを追加して、すべての行をそれにマップしようとしましたが、それでも同じエラーが発生しました

私のデータフレームのスキーマは次のとおりです。

0 投票する
1 に答える
5908 参照

scala - Spark データセット: 例: エンコーダの問題を生成できません

Spark world が初めてで、オンラインで見つけた scala で記述されたデータセットの例を試す

SBT を介して実行すると、次のエラーが発生し続けます

org.apache.spark.sql.AnalysisException: Unable to generate an encoder for inner class

私が見落としているものは何か

また、同じデータセットの例を書くためのより良い方法を自由に指摘してください

ありがとう

コード :

JSON ファイル (student.json) :