問題タブ [spark-dataframe]
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 - union two RDDs Spark scala, keeping the right side
I have two spark dataframes, with the following structure. As read before using sqlContext.
I want the following result based on the composite key (id_location,id_item)
So, I want a result with distinct itens (regarding the composite key), but when I found a record with the same key in the both rdds, I want just keep with the record from rdd2.
Anyone have this kind of requirement ?
I am working with spark and scala.
Best Regards Raphael.
python - Spark データフレームでフェニックス動的列を使用する
Phoenix には、テーブルの初期スキーマが選択された後に動的列を追加する機能があります。アップサート中に列を動的に追加できます。私の質問は、特にスパークデータフレームでこれらの列を効果的に使用するにはどうすればよいですか? スパークデータフレームフェニックスの接続時にスキーマがあり、動的列がスキーマにないことを理解しています。それで、これは可能ですか?
python - ユーザー定義関数が pyspark データフレームを壊す
私のスパークバージョンは1.3で、pysparkを使用しています。
df という大きなデータフレームがあります。
次に、データフレームのいくつかの列を選択し、行数を数えようとします。これはうまくいきます。
次に、ユーザー定義関数を適用して、列の1つを文字列から数値に変換します。これも正常に機能します
ただし、行数を数えようとすると、型が df3 のようなデータフレームであることを示していても、例外が発生します。
私のエラー:
ユーザー定義関数を正しく使用していますか? データフレーム関数がデータフレームで機能しない理由は何ですか?
unicode - スキーマを持つ行からの sqlContext.createDataframe。pyspark:TypeError:IntegerTypeは型のオブジェクトを受け入れることができません
次のエラーが発生する理由を理解するのに多くの時間を費やした後
行とスキーマに基づいてデータフレームを作成しようとしているときに、次のことに気付きました。
次のように見えるrrdRowsと呼ばれる私のrdd内の行で:
そして私のdfSchemaは次のように定義されています:
次のようにデータフレームを作成します。
Spark はスキーマ内の StructFields の順序のみを考慮し、StructFields の名前と行フィールドの名前を一致させないため、上記のエラーが発生します。
つまり、上記の例で、spark が次のようなデータフレームを作成しようとしていることに気付きました (typeError が存在しない場合。ex すべてが String 型の場合)。
これは本当に予想されることですか、それともある種のバグですか?
編集: rddRows はこれらの行に沿って作成されます:
ここで、rddDict は解析された JSON ファイルです。
apache-spark - Spark SQL UDAF (ユーザー定義集計関数) は Python API で使用できますか?
Spark 1.5.0 の時点で、DataFrame のカスタム集計用に独自の UDAF を作成できるようです: Spark 1.5 DataFrame API のハイライト: 日付/時刻/文字列の処理、時間間隔、および UDAF
ただし、この機能が Python API でサポートされているかどうかは不明です。
scala - Scalaで異なるデータフレームの行を一緒にマージする
たとえば、最初にこのようなデータフレームがあります
2012年、1997年、2015年があります。そして、このような別のデータフレームがあります
2012 年、1997 年、2015 年もあります。同じ年の行を結合するにはどうすればよいでしょうか。ありがとう
出力は次のようになります
scala - Spark DataFrame での同時操作
DataFrame とカウントに対してさまざまなフィルター操作を実行してから、個々のカウントの合計を実行する必要があります。同時実行には Scala Future を使用します。コードは次のとおりです。
各フィルター/カウント操作の実行時間は約 7 秒です。ただし、何度も実行した後、同時実行の合計時間は、予想した 7 秒ではなく、常に約 35 秒かかります。私はかなり長い間この動作に戸惑いましたが、理解できません。
3 台のマシン、1 つのマスター ノード、2 つのワーカー ノード、および各ノードに 128G メモリと 32 コアのクラスターがあります。データのサイズは約3Gです。同時実行中、1 つのワーカー ノードに 20 秒の GC 時間がかかることに気付きました。個々のフィルター/カウント操作に GC 時間がほとんどないように GC を調整しました。3 つの Future の同時実行を実行するたびに GC が起動する理由と、それが同時実行時間を長くする理由かどうかはわかりません。
誰でもこの問題について経験がありますか?