問題タブ [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.
apache-spark - スキーマを DateType / TimestampType に指定すると、クエリが非常に遅くなるのはなぜですか?
spark-csv 1.1.0と Spark 1.5を使用しています。次のようにスキーマを作成します。
しかし、DateType
列がある場合、データフレームを使用したクエリは非常に遅くなります。(クエリは単純なものgroupby(), sum()
などです)
DateType
同じデータセットを使用して、Date をと DateTime にマップするTimestampType
(つまり、それらを にマップする)ように 2 行をコメントした後StringType
、クエリははるかに高速になります。
これにはどのような理由が考えられますか? どうもありがとうございました!
apache-spark - Spark と Hive の両方で値を正しく保存しない Decimal データ型
10 進数データ型での保存に問題があり、それがバグなのか何か間違っているのかわかりません
ファイル内のデータは次のようになります
csvリーダーを使用してsparkのスキーマを推測すると、column3のデータ型を文字列として取得するため、10進数に変換してテーブルとして保存しています。
テーブルにアクセスすると、次のように出力が表示され、小数点以下が削除されます
また、column3 を 10 進数としてローカル テーブルを作成し、データをロードして、Hive で同じことをテストしました。
この点で何か助けていただければ幸いです。
これが上記のコードです
スパーク内 ファイルのスキーマ
コード
10進数に変換後のスキーマ
ハイブのために
さらに詳しい情報が必要な場合はお知らせください。
どうもどうも
csv - Spark で partitionBy を使用して CSV ファイルを保存する
データフレームを列で分割された CSV ファイルとして保存しようとしています。
ただし、出力はパーティション情報とともに保存されません。partitionBy は完全に無視されたようです。エラーはありませんでした。寄木細工のフォーマットで同じことを試してみるとうまくいきます。
ここで何が欠けていますか?
csv - CSV を DataFrame にインポートするときに spark.executor.memory が正しく設定されていないと、文字が破損する
更新: この質問を保留してください。これは、Spark 1.5 自体の問題である可能性があることがわかりました。これは、Spark の公式バージョンを使用していないためです。この質問を更新し続けます。ありがとうございました!
最近、Spark-CSV を使用して Spark の DataFrame に CSV をインポートするときに奇妙なバグに気付きました。
ここに私のサンプルコードがあります:
CarSales は非常に小さな csv です。spark.master
ではない場合、16GB 以上local
に設定spark.executor.memory
すると DataFrame が破損することに気付きました。このプログラムの出力は次のようになります: (ログからテキストをコピーしました。この場合spark.executor.memory
は 32GB に設定されています)
ファイルの最初の 10 行は次のとおりです。
spark.executor.memory
私のマシンで 16GB に変更しただけでは最初の 10 行は正しいのですが、16GB を超える設定にすると破損することに気付きました。
さらに、256 GB のメモリを搭載したサーバーの 1 つで、これを 16 GB に設定すると、このバグも発生します。代わりに、48GB に設定すると正常に動作します。さらに、印刷しようとしましdataFrame.rdd
たが、RDD の内容が正しいことを示していますが、データフレーム自体はそうではありません。
誰でもこの問題について何か考えがありますか?
ありがとうございました!
scala - spark-csv で区切り文字として ^A (つまり \001) を使用する csv を解析する方法は?
Spark や Hive、ビッグデータ、scala など、まったく新しいものです。sqlContext を受け取り、s3 から csv ファイルをロードして DataFrame を返す単純な関数を作成しようとしています。問題は、この特定の csv が ^A (つまり \001) 文字を区切り文字として使用し、データセットが巨大であるため、「s/\001/,/g」を実行できないことです。さらに、フィールドには、区切り記号として使用できるコンマやその他の文字が含まれている場合があります。
私が使用している spark-csv パッケージに区切り文字オプションがあることは知っていますが、エスケープされた 0、0、1 のようなものではなく、\001 を 1 文字として読み取るように設定する方法がわかりません。おそらく、hiveContextなどを使用する必要がありますか?
scala - スパーク NumberFormatException: null を回避する方法
私が遭遇した特定の例外に由来する一般的な質問があります。
spark 1.6 を使用して、dataproc でデータのクエリを実行しています。2 つのログから 1 日分のデータ (~10000 ファイル) を取得し、いくつかの変換を行う必要があります。
ただし、1 日のクエリが成功しなかった後、データに不良データが含まれている可能性があります (または含まれていない可能性があります)。時間 00-09 を試してもエラーは発生しませんでした。10〜19時間試してみましたが、例外が発生しました。1 時間ごとに試してみたところ、10 時間に不正なデータがあることがわかりました。11時と12時は大丈夫だった
基本的に私のコードは次のとおりです。
{オーバー - 簡略化}
私が得るエラーは次のとおりです。
私の質問は - spark-csv を使用して例外処理を実装する方法は? データフレームをRDDに変換してそこで作業することはできますが、もっと良い方法があるはずです.....
誰かが同様の問題を解決しましたか?
apache-spark - spark-csv パッケージを使用した jupyter ノートブックの PySpark
ローカル モードで spark 1.6.0 を使用しています。pyspark カーネルが jupyter ノートブックで起動するように、ipython pyspark プロファイルを作成しました。これはすべて正しく機能します。
このパッケージspark-csvをjupyterノートブック内で使用したい。ファイルを編集してコマンドの後~/.ipython/profile_pyspark/startup/00-pyspark-setup.py
に入れようとしましたが、成功しませんでした。まだこのエラーメッセージが表示されます:--packages com.databricks:spark-csv_2.11:1.4.0
pyspark-shell
何か提案はありますか?
date - Sparkcsv が日付フィールドの解析に失敗する
sparkcsvを使用してsparkにロードしようとしているcsvファイルがあります。「yyyy-mm-dd hh:mm:ss」(例: 「2014-09-18 00:00:00」) の形式の日付型の値を持つフィールドがあり、それを DateType として指定したいと考えています。しかし、私は取得し続けます
java.lang.IllegalArgumentException at java.sql.Date.valueOf(Date.java:140)
私が読んだことから、これはデフォルトのパターンに従わない文字列に遭遇したときに起こります。しかし、私はそうします!そしてoption("dateFormat", "yyyy-mm-dd hh:mm:ss")
、csvを読むときに追加しようとしましたが、何もしませんでした。
フィールドが空の場合にこのエラーが発生する可能性があることを他の場所で読みましたが、そうではないようです。
またoption("mode", "DROPMALFORMED")
、役に立たない - 同じエラー。
apache-spark - spark-csv パッケージを使用してデータフレームを保存すると、例外がスローされてクラッシュする (pyspark)
Spark 1.5.2 でスタンドアロン モード (8 コアを使用) でスクリプトを実行しています。スクリプトの最後で、spark-csv
パッケージを使用して非常に大きなデータフレームをディスクにシリアル化しようとしています。例外をスローするコード スニペットは次のとおりです。
data
Sparkデータフレームはどこにありますか。実行時に、次の stracktrace を取得します。
これは、これらの束につながります:
...など (最後の行のいくつかは意図的に省略しています。)
何が起こっているかは (大まかに) 理解していますが、どうすればよいかわかりません - メモリの問題ですか? 何をすべきかについてアドバイスを求めています - 変更、追加などできる設定はありますか?