問題タブ [apache-spark-2.0]

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 に答える
1543 参照

amazon-s3 - partitionBy または InsertInto Hive と並行してデータフレーム/データセットの各パーティションを保存する方法

私は現在、spark 2.0.1 を使用しており、insertInto() を使用して「パーティション化されたテーブル ハイブ」にデータセットを保存しようとしています。しかし、この 2 つの方法では、データセットの各パーティションは順番に 1 つずつ保存されます。非常に遅いです。insertInto() または partitionBy() を一度に 1 つずつ使用する必要があることは既にわかっています。spark.2.0.1 Dataframe には Resilient Data Set があると思います。私の現在のコード:

または

だから私はこのような df.foreachPartition でいくつかのものを試してみてください:

以下に抽出ログがあります。最初の例では、ハイブの「InserInto(tablehivealreadypartitionned)」です。すべての「パーティション」Spark が 1 つずつ書き込まれていることがわかります。2 番目の例では、S3 に直接書き込むのは「partitionBy().save()」です。また、すべての「パーティション」スパークが 1 つずつ書き込まれていることもわかります。私たちが扱うデータフレームには「パーティション」が 1 つしかなく、そのサイズは圧縮されていない (メモリ内で) 約 200MB です。ジョブは、オプション local[4] を使用してデータを保存するのに 120 秒 170 秒かかります。

残念ながら、データセットの各スパーク パーティションを並行して書き込み/保存する方法がまだ見つかりません。

誰かがすでにこれを行っていますか?

進め方を教えていただけますか?

向きが悪いのでしょうか?ご協力いただきありがとうございます

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

csv - 埋め込まれたカンマを含む引用符で囲まれたフィールドを持つ csv ファイルの読み取り

次のように Pyspark で csv ファイルを読み込んでいます。

ただし、データ ファイルには、カンマが埋め込まれた引用符で囲まれたフィールドがあり、カンマとして扱われるべきではありません。Pyspark でこれを処理するにはどうすればよいですか? パンダがこれを処理できることは知っていますが、Spark はできますか? 私が使用しているバージョンは Spark 2.0.0 です。

Pandas では機能するが、Spark では失敗する例を次に示します。

ファイルの内容:

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

scala - Javaのメモリ不足エラーでどのタイプのSparkメモリを増やす必要がありますか?

だから、私は以下に示すようなパターンを持っています。

そのため、内部someFunctionでは、ある場所で大きな文字列が作成されますが、これはまだそれほど大きくはありません (< 1 GB) が、java.lang.OutOfMemoryError: Java heap spaceその文字列の作成中にエラーが発生することがあります。これは、エグゼキュータのメモリが非常に大きい (8 GB) 場合でも発生します。

この記事によると、UserメモリとSparkメモリがあります。さて、私の場合、UserメモリとSparkメモリのどちらを増やせばいいのでしょうか?

PS: Spark バージョン 2.0 を使用しています

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

java - Spark 2.0.1 java.lang.NegativeArraySizeException

Spark 2.0.1 で遊んでいます。新しいデータセット API は非常にクリーンですが、非常に単純な操作に問題があります。

誰かが助けてくれることを願っています。

これらの指示

を生産する

JVM (1.8) によって検出された致命的なエラー。

データセット API を使用したデータの操作 (つまり、選択、infos オブジェクトのカウント) は正常に機能します。

Dataset と RDD を切り替えるにはどうすればよいですか?

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

scala - Spark 2.0 データセットとデータフレーム

spark 2.0.1 から始めて、いくつか質問がありました。多くのドキュメントを読みましたが、これまでのところ十分な答えが見つかりませんでした:

  • 違いは何ですか
    • df.select("foo")
    • df.select($"foo")
  • 私はそれを正しく理解していますか
    • myDataSet.map(foo.someVal)タイプセーフであり、変換されませんRDDが、DataSet 表現にとどまります / 追加のオーバーヘッドはありません (2.0.0 のパフォーマンスに関して)
  • select などの他のすべてのコマンドは、単なるシンタックス シュガーです。タイプセーフではなく、代わりにマップを使用できます。df.select("foo")map ステートメントなしでタイプセーフにする にはどうすればよいですか?
    • マップの代わりに UDF / UADF を使用する必要があるのはなぜですか (マップがデータセット表現にとどまると仮定して)?
0 投票する
1 に答える
991 参照

pyspark - PySpark の 2 つの異なる pyspark.sql.dataframes の 2 つの列から pyspark.sql.dataframe を作成する

行数が等しい pyspark の次の 2 つのデータフレームを想定します:
df1:
 |_ Column1a
 |_ Column1b

df2:
 |_ 列 2a
 |_ 列 2b

Column1a と Column 2a のみを持つ新しい DataFrame "df" を作成したいと考えています。それに対する最善の解決策は何ですか?

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

amazon-web-services - S3 への書き込みが完了した後、EMR の Spark ステップが「実行中」としてハングする

ステップとして EMR 5.1.0 で PySpark 2 ジョブを実行します。S3 にファイルが書き込まれ、ジョブが完了したことを示す Spark UI を使用してスクリプトが完了した後でも_SUCCESS、EMR はまだステップを「実行中」と表示します。Spark が自分自身をクリーンアップしようとしているかどうかを確認するために 1 時間以上待ちましたが、ステップが「完了」として表示されません。ログに最後に書かれたことは次のとおりです。

Spark 1.6 ではこの問題はありませんでした。私はたくさんの異なるジャーを試しましたが、役に立ちませんでしたhadoop-awsaws-java-sdk

デフォルトの Spark 2.0 構成を使用しているため、メタデータのようなものは他に書き込まれていないと思います。また、データのサイズもこの問題に影響していないようです。

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

amazon-web-services - PySpark: AWS s3n は機能していますが、s3a は機能していません

ローカル マシンで Spark を使用して Amazon s3 のデータにアクセスしようとしています。s3n ではデータにアクセスできますが、s3a ではアクセスできません。以下は構成です。

Spark :- Hadoop 2.7 でビルド済みの 2.0.1

取得エラー:-

このエラーを修正するにはどうすればよいですか?