問題タブ [pyspark]
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.
apache-spark - Spark Python のパフォーマンス チューニング
以下のコマンドを使用して、Spark 開発用の iPython ノートブックを作成しました。
そして、sc
次のような Python コードを使用して SparkContext を作成しました。
spark.executor.memory
ドキュメントの をよりよく理解したい
JVM メモリ文字列と同じ形式で、executor プロセスごとに使用するメモリの量
これは、1 つのノードで実行されているすべてのプロセスの累積メモリがその上限を超えないということですか? その場合、その数値をできるだけ高い数値に設定する必要がありますか?
これはいくつかのプロパティのリストでもあります。パフォーマンスを向上させるためにデフォルトから微調整できるパラメータが他にもあります。
ありがとう!
python - Spark を使用した Gzip ファイル
数千のファイルを入力として取り、Amazon S3 からダウンロードし、各マップ ステップが文字列を返すマップ フェーズで処理する Spark ジョブがあります。.tar.gz
出力をファイルに圧縮し、後で S3 にアップロードしたいと思います。それを行う1つの方法は
問題は、outputs
メモリに収まらないことです (ただし、ディスクには収まります)。マップフェーズで出力をマスターファイルシステムに保存する方法はありますか? それとも、ループfor output in outputs
をジェネレーターとして使用して、すべてをメモリにロードする必要がないようにしますか?
python - Pyspark の特定のクエリと同じ行からデータを返す
Spark/Hadoop 入力言語である Pyspark: データセットで "SJC" などのキーワードを検索し、キーワード "SJC" が見つかった行に対応する 2 番目の列からテキストを返したいと考えています。
たとえば、次のデータセットは次のようになります。
[年] [遅延] [目的地] [フライト番号]
|1987| |-5| |SJC| |500|
|1987| |-5| |SJC| |250|
|1987| |07| |SFO| |700|
|1987| |09| |SJC| |350|
|1987| |-5| |SJC| |650|
「SJC」をクエリして、[Delay] 値をリストまたは文字列として返すことができるようにしたいと考えています。
私はここまで来ましたが、運がありません:
助けてくれてありがとう!
python - csvファイルでのPySparkのdistinct().count()
私はsparkが初めてで、csvファイルのいくつかのフィールドに基づいてdistinct().count()を作ろうとしています。
Csv 構造 (ヘッダーなし):
.csv をロードするには、次のように入力しました。
lines
次に、期待どおりに返された 3の個別のカウント:
id
しかし、 let sayとに基づいて個別のカウントを作成する方法がわかりませんcountry
。
python - リソースを解放する目的でPySparkでRDDを削除するには?
不要になった RDD がある場合、メモリから削除するにはどうすればよいですか? これを行うには、次のことで十分でしょうか。
ありがとう!
apache-spark - PySparkでJavaSparkContextからSparkContextを取得するには?
PySpark を実行すると、
次のような素敵な出力が得られます
走りながら
Java NPE で Py4J エラーが発生する
Py4J を介して、アクセス権を与えられSparkContext
た に含まれる にアクセスできないのはなぜですか?JavaSparkContext
closures - Spark RDD にアクセスするときのクロージャーでのローカル変数の使用
Spark RDD にアクセスする際のクロージャーでのローカル変数の使用について質問があります。解決したい問題は次のようになります。
RDD に読み込む必要があるテキストファイルのリストがあります。ただし、まず、単一のテキスト ファイルから作成された RDD に追加情報を追加する必要があります。この追加情報は、ファイル名から抽出されます。次に、union() を使用して、RDD を 1 つの大きな RDD に入れます。
問題は、ループ内の map() 関数が「正しい」file_owner を参照していないことです。代わりに、file_owner の最新の値を参照します。私のローカル マシンでは、単一の RDD ごとに cache() 関数を呼び出すことで問題を解決できました。
私の質問: cache() を使用することは、私の問題に対する正しい解決策ですか? 代替手段はありますか?
どうもありがとう!
apache-spark - YARN クラスターでの PySpark 分散処理
リソース マネージャーとして YARN を使用して、Cloudera CDH5.3 クラスターで Spark を実行しています。Python (PySpark) で Spark アプリを開発しています。
ジョブを送信でき、正常に実行されますが、複数のマシン (送信元のローカル マシン) で実行されるようには見えません。
--deploy-mode を cluster に、 --master を yarn-client および yarn-cluster に設定するなど、さまざまなオプションを試しましたが、複数のサーバーで実行されることはないようです。
--master local[8] のようなものを渡すことで複数のコアで実行できますが、明らかに複数のノードに処理が分散されません。
HDFS からのデータを次のように処理する非常に単純な Python スクリプトがあります。
そして、次のような送信コマンドを実行しています:
ジョブがクラスター全体で並行して実行されるようにするにはどうすればよいですか?
apache-spark - PySpark エラー:「入力パスが存在しません」
私は Spark が初めてで、Python でコーディングしています。
「Spark の学習」ガイドラインに正確に従うと、「Spark を実行するために Hadoop をインストールする必要はありません」と表示されます。
それでも、Pyspark を使用して 1 つのファイルの行数を数えようとすると、次のエラーが発生します。私は何が欠けていますか?
maven - Maven で Spark 1.2 をビルドする方法 (java.io.IOException: Cannot run program "javac")?
Maven で Spark 1.2 をビルドしようとしています。私の目標は、Hadoop 2.2 で YARN を使用して PySpark を使用することです。
これは、Spark を Maven でビルドすることによってのみ可能であることがわかりました。まず、これは本当ですか?
正しい場合、以下のログの問題は何ですか? これを修正するにはどうすればよいですか?