問題タブ [spark-csv]
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.
caching - すべてのアクションで外部ソースから読み取られたデータフレームをスパークしますか?
スパークシェルでは、以下のコードを使用してcsvファイルから読み取ります
これが10行を表示すると仮定します。df.show()
csv を編集して新しい行を追加した場合、もう一度呼び出すと新しい行が表示されますか? もしそうなら、それはデータフレームがすべてのアクションで外部ソース (この場合は csv ファイル) から読み取ることを意味しますか?
データフレームをキャッシュしていないか、spark セッションを使用してデータフレームを再作成していないことに注意してください
scala - カスタム スキーマと BigDecimal 型を使用して寄木細工のファイルを作成しようとすると、NumberFormatException が発生する
次のように、カスタマイズされた json スキーマ ファイルを使用して、csv ファイルから parquet ファイルを作成する必要があります。
weight という名前のフィールドを見てください。
入力 csv ファイルは次のようになります。
これは、DataFrame を含むスキーマ json ファイルをロードする方法です。
}
}
実行が最後の行 .parquet(pathParquet) に到達すると、例外が発生します。
spark-csv が "weight" フィールドを 10 進数 (25,5) としてレンダリングしようとすると、ライブラリがクラッシュするようです。誰でも私を助けることができますか?
ありがとうございました。
python-3.x - pyspark アプリケーションでブロードキャスト_1 のブロードキャスト_1_piece0 を取得できませんでした
Python 3.4 を使用して Apache Spark 2.00 でアプリケーションを構築し、HDFS (Hadoop 2.7) からいくつかの CSV ファイルを読み込んで、それらの CSV データからいくつかの KPI を処理しようとしていました。
アプリケーションで「ブロードキャスト_1のブロードキャスト_1_ピース0を取得できませんでした」というエラーがランダムに発生し、停止しました。
多くのGoogleとstakeoverflowを検索した後、sparkアプリで作成されたファイルを/ tmpディレクトリから手動で削除することでそれを取り除く方法しか見つかりませんでした. 通常、アプリケーションが長時間実行されていて、適切に応答していないが、関連ファイルが /tmp ディレクトリにある場合に発生します。
ブロードキャスト用の変数は宣言していませんが、spark が独自に行っている可能性があります。
私の場合、hdfs から csv を読み込もうとするとエラーが発生します。
問題を解決できるように、アプリケーションの低レベルのログを取得し、サポートと提案/ベスト プラクティスのためにここに添付しました。
サンプル (詳細はこちらに添付されています):
トレースバック (最後の最後の呼び出し): ファイル "/home/hadoop/development/kpiengine.py"、258 行目、df_ho_raw = sqlContext.read.format('com.databricks.spark.csv').options(header=' true').load(HDFS_BASE_URL + HDFS_WORK_DIR + filename) ファイル "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py"、147 行目、ロード ファイル "/usr/local/ spark/python/lib/py4j-0.10.1-src.zip/py4j/java_gateway.py"、933 行目、呼び出し中 ファイル "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/utils.py"、63 行目、deco ファイル "/usr/local/spark/python/lib/py4j-0.10.1- src.zip/py4j/protocol.py"、行 312、get_return_value py4j.protocol.Py4JJavaError: o44.load の呼び出し中にエラーが発生しました。: org.apache.spark.SparkException: ステージの失敗によりジョブが中止されました: ステージ 0.0 のタスク 0 が 4 回失敗しました。最近の失敗: ステージ 0.0 のタスク 0.3 が失われました (TID 3、172.26.7.192): java.io.IOException: org.apache.spark.SparkException: ブロードキャスト_1 のブロードキャスト_1_piece0 を取得できませんでした
apache-spark-sql - ローカル ファイル パスからテキスト ファイルを読み取れない - Spark CSV リーダー
Spark CSVリーダーを使用してcsvファイルを読み取ってDataFrameとして変換し、でジョブを実行してyarn-client
います。ローカルモードで正常に動作しています。
でスパークジョブを送信していedge node
ます。
しかし、ファイルを HDFS ではなくローカル ファイル パスに配置すると、ファイルが見つからないという例外が発生します。
コード:
も試しfile:///
ましたが、それでも同じエラーが発生します。
エラーログ:
apache-spark - Spark はテキスト形式のファイルをどのように読み取るか
S3 にテキスト形式 (.gz) のデータセットがあり、spark.read.csv を使用してファイルを spark に読み込みます。
これは約 100GB のデータですが、150 列が含まれています。私は 5 列のみを使用しており (データの幅を狭めているため)、5 列のみを選択しています。
この種のシナリオでは、spark は 100GB のデータ全体をスキャンしますか、それともすべての列をスキャンせずにこれらの 5 列のみをスマートにフィルター処理しますか (列形式の場合のように)?
これに関する助けをいただければ幸いです。
java - Parquet スキーマと Spark
CSV ファイルを寄木細工に変換しようとしていますが、これを達成するために Spark を使用しています。
問題は、スキーマが定義されておらず、列が次のようになっていることです (出力は、spark で printSchema() を使用して表示されます)。
csv の最初の行に名前がありますが、それらは無視されていると思います。問題は、文字列がいくつかの列だけであり、int と日付もあります。
私はSparkのみを使用しており、基本的にavroなどは使用していません(avroを使用したことはありません)。
スキーマを定義するためのオプションとその方法は? 別の方法で寄木細工のファイルを作成する必要がある場合、それが迅速で簡単な解決策である限り、問題はありません。
(私はテストに spark スタンドアロンを使用しています / scala を知りません)