問題タブ [apache-spark-dataset]

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 投票する
1 に答える
3661 参照

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

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

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

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

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

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

0 投票する
2 に答える
7363 参照

apache-spark - データセットの列の名前を効率的に変更する方法 (Spark 2.0)

DataFrames を使用すると、 を使用して列の名前を簡単に変更できますdf.withColumnRename("oldName", "newName")。データセットでは、すべてのフィールドに型と名前が付けられているため、これは不可能のようです。私が考えることができる唯一の回避map策は、データセットで使用することです:

これは、列の名前を変更するためだけに、非常に遠回しで非効率的な方法のようです。より良い方法はありますか?

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

apache-spark - Java で spark データセットを使用して avro データを読み取る

私はsparkの初心者で、javaを使用してavroデータをspark 'dataset' (spark 1.6)にロードしようとしています。scala にはいくつかの例がありますが、java にはありません。Java の例へのポインタは役に立ちます。javaRDD を作成してから、それを「データセット」に変換しようとしました。まっすぐ進む道があるに違いないと私は信じています。

0 投票する
2 に答える
671 参照

scala - Scala Spark 2.0 データセットのネストされたフィールドの名前を変更する

Spark 2.0 を使用して、ケース クラスのデータセット内のネストされたフィールドの名前を変更しようとしています。例は次のとおりです。「要素」の名前を「アドレス」に変更しようとしています(データ構造内でネストされている場所を維持します):

参考までに、以下は機能しません。

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

apache-spark - Spark データセット - 内部結合の問題

私は Spark 2.0.0 を使用しており、次のように 2 つのデータセット (Dataset[Row]) があります。

データセット「appUsage」:

データセット「appDev」

次のコードを使用して左結合を行うと、すべて期待どおりに機能します。

出力は次のとおりです。

しかし、両方のデータセットに存在する行のみが結果セットの一部になるように、内部結合を実行したいと考えています。ただし、次のコードを使用して実行すると、出力は空になります。

何か不足していますか?

0 投票する
0 に答える
762 参照

java - Apache Spark は、複数の列で大きなデータセットを自己結合します

糸を使用して、Hadoop クラスターで Apache Spark を実行しています。1 億 6000 万レコードのような大きなデータ セットがあります。自己結合を実行する必要があります。結合は、1 つの列 (c1) の完全一致、日付の重複一致、およびさらに 2 つの列のうちの少なくとも 1 つの一致 (c3 または c4 としましょう) で行われます。

RDD で HBase からデータを読み取り、その RDD を DATASET に変換してから、結合を行いました。だから私の質問は:

1)すべてをシャッフルするのではなく、sparkがパーティションにのみ参加するように、結合を行う前にc1でrddをパーティション分割すると役立ちますか(これは常に一致する必要があります)?

2) また、キーを使用してこれを行いました (例: c1+c3 および c1+c4)。次に、キーによる結合を行いますが、日付の重複によってすべての結果をフィルター処理する必要があります。日付の重複を追加すると思いました結合により、生成されるレコードが少なくなります。

3)正確な列の値に一致する自己結合を行う効率的な方法はありますが、他の列との比較も行いますか?