問題タブ [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.
scala - ケースクラスを使用して JSON をエンコードすると、「データセットに格納されている型のエンコーダーが見つかりません」というエラーが表示されるのはなぜですか?
私はスパークジョブを書きました:
IDE で main 関数を実行すると、次の 2 つのエラーが発生します。
しかし、Spark Shell では、このジョブをエラーなしで実行できます。何が問題ですか?
scala - Spark 2.X データセットでカスタム エンコーダーを作成するには?
Spark データセットは、Row からEncoder
Pojo/プリミティブの に移動します。Catalyst
エンジンは を使用して、SQL 式のExpressionEncoder
列を変換します。Encoder
ただし、独自の実装のテンプレートとして使用できる他のサブクラスはないようです。
これは、Spark 1.X / DataFrames で問題なく、新しい体制でコンパイルされないコードの例です。
}
のコンパイラエラーが発生します
したがって、どういうわけか/どこかに手段があるはずです
- カスタム Encoder を定義/実装する
- でマッピングを実行するときにそれを適用します
DataFrame
(現在はタイプのデータセットですRow
) - 他のカスタム コードで使用するエンコーダーを登録します。
これらの手順を正常に実行するコードを探しています。
scala - Apache Spark 2.0: java.lang.UnsupportedOperationException: java.time.LocalDate のエンコーダが見つかりません
私は Apache Spark 2.0 を使用しておりcase class
、言及用のスキーマを作成していますDetaSet
。How to store custom objects in Dataset?に従ってカスタム エンコーダーを定義しようとすると、、java.time.LocalDate
次の例外が発生したため:
以下はコードによるものです:
Spark 用のサードパーティ API のエンコーダーを定義するにはどうすればよいですか?
アップデート
ケース クラス全体のエンコーダを作成するときはdf.map..
、次のようにオブジェクトをバイナリにマップします。
FireService のマップを期待していますが、マップのバイナリを返します。
scala - Spark データセットと java.sql.Date
Dataset
次のようなSpark があるとします。
Dataset
名前と日付フィールドのみで新しいを作成したい。私が見る限り、 with を使用するか、ds.select()
withTypedColumn
を使用ds.select()
してColumn
を に変換DataFrame
できますDataset
。
ただし、前のオプションをそのDate
タイプで使用することはできません。例えば:
後のオプションが機能します。
行ったり来たりせずにDate
フィールドを選択する方法はありますか?Dataset
DataFrame
scala - scala リストを DataFrame または DataSet に変換する
私はScalaが初めてです。スカラ リスト (ソース DataFrame で計算されたデータの結果を保持している) を Dataframe または Dataset に変換しようとしています。私はそれを行うための直接的な方法を見つけていません。ただし、リストを DataSet に変換するために次のプロセスを試みましたが、機能していないようです。以下の3つの状況を提供しています。
この変換を行う方法を教えてください。ありがとう。
scala - データフレーム行を更新された行にマップしようとしているときにエンコーダー エラーが発生しました
以下で説明するように、コードで同じことをしようとしているとき
ここから上記の参照を取得しました: Scala: How can I replace value in Dataframs using scala しかし、エンコーダーエラーが発生しています
データセットに格納されているタイプのエンコーダが見つかりません。プリミティブ型 (Int、S string など) と Product 型 (ケース クラス) は、spark.im plicits をインポートすることでサポートされます。_ 他の型をシリアル化するためのサポートは、将来のリリースで追加される予定です。
注: 私は spark 2.0 を使用しています!
scala - Spark エラー: データセットに格納されているタイプのエンコーダーが見つかりません
Zeppelin ノートブックで Spark を使用していますが、groupByKey() が機能していないようです。
このコード:
このエラーが表示されます (おそらく、コンパイル エラーです。作業中のデータセットがかなり大きいため、すぐに表示されるためです)。
ケースクラスを追加して、すべての行をそれにマップしようとしましたが、それでも同じエラーが発生しました
私のデータフレームのスキーマは次のとおりです。
scala - Spark データセット: 例: エンコーダの問題を生成できません
Spark world が初めてで、オンラインで見つけた scala で記述されたデータセットの例を試す
SBT を介して実行すると、次のエラーが発生し続けます
org.apache.spark.sql.AnalysisException: Unable to generate an encoder for inner class
私が見落としているものは何か
また、同じデータセットの例を書くためのより良い方法を自由に指摘してください
ありがとう
コード :
JSON ファイル (student.json) :