2016-12-17 11 views
3

私たちは一つに火花-CSVとunivocity 1.5.0パーサを使用して、その列を複数の改行文字を持っている3ギガバイトのファイルを読み込むしようとしているが、ファイルはスプリットを得ています改行文字に基づいていくつかの行の複数の列。このシナリオは、大きなファイルの場合に発生します。 2015年1月20日にFAILFAST:エラースパークのcsvパッケージで非常に大きなファイルを読みながら

sqlContext.read 
    .format("com.databricks.spark.csv") 
    .option("header", "true") 
    .option("inferSchema", "true") 
    .option("mode","FAILFAST") 
    .option("escape","\"") 
    .option("qoute"."\"") 
    .option("parserLib","univocity") 
    .load("abc.csv") 

のjava.lang.Exception:

私たちは、私は、ファイルを読み取るための使用しているコードに続いて火花1.6.1とScalaの2.10

を使用しています。

サンプルファイル: "A AAAAAAAA"、 "AA999"、 "AA999"、 "AA999"、 "9999-99-99-99.99.99.999999"、 "AAAAAA99"、 "AAAAA AAAAAAAA

99/99/9999 - AAA AAAAAAA AA:aaaaaaaaaのAA AAAAA、AAAAAAAAのAAAのAAAAAAAのAAAAAAAAAA

AaaのAAAAAのAAのAAA AAAのaaaaaaaaaaa

99/99/9999 AAAAA AAAAAAAAのAAAAAAAAのaaaaaaaaa AAAAAAAAのAAAAA用のAAA AAAAAA aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。

99/99/9999 Aaa'aのAAAAAA A/AAAのAAAAAAA - AAA aaaaaaaaaのaaa'aのAAAAAAA

99/99/9999 AAAのAAAAAA - AAAAAAA aaaaaaaaa

99/99/9999 AAA aaaaaa。 Aaa aaaa Aa。 AAAAAA AA:aaaaaaaaaのAAAAAAAAのAAAAAA、AAAAAAAのAAAAのAAAAAAAAAA、AAAAA AAAA AAAAAAA AAAAAAAAAA(AAAA aaaaaaaaaaaaのAAAAAAA)。 A & Aa aaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。 Aaa aaaaaa aaaaaa aaaaaa aaaa aaaaaa。

99/99/9999 - AAAAA AAAAAAAA。

99/99/9999 - AAA

99/99/9999 AAAのAAAAAA AAAAAのAAは、AAA 9999 AAAAのaaaaaaaaaのAAAAAAAAAA - AA & Aaと。 Aaaaaaaaaa aaaaa aaaaaa。

99/99/9999 AAAのAAAAAのAAAAAA - AA AAAAAAAのAA AAAAAのAAAAAAのAA、AAA、AAのAAA AAAのAA AAAAAAのAAAAAAのAAAA-aaaaaaaaaaa。 &のAA AAAAAのAA AAAAAのAAAAAAA AAAAAA AA AAAAAAAAのAA。

99/99/9999 - AAAAAA AAAAAAのAAAA。 AAAAAAAA AAAA AAAA 99/99/9999 - 99/99/9999

99/99/9999 - AAAAAA AAAAAAAのAA AAAAのAA:AAAA AAAAA AAAA AAAA AAAA AAAAAA AAAAA AA、AAAのaaaaaaaaa。

99/99/9999 AAAAAA A/AAAのAAAAAAA。 Aaaa aaaaaaaa aa aaaaaaaaaaaa aa AA。

99/99/9999 aaaaaaaaaaaaaaaaaaaaaa。

99/99/9999 AAAAAAAA AAAAAAのAAAAAA単三AAAA & AAAAAA

99/99/9999 AAAAAA A/AAA AAAAAAA aaaaaaaaa aaa'a aaaaaaaaaaa AAAAAAA

99/99/9999 AAA AA aaaaaaaaaaaaaa AAAAAAのaaa AAAのAAAAAのAAAAAA

99/99/9999 aaaaaaaaaaaのaaaaaaaaaaaaaaa AAAのAAAAAのAA、AAAのaaaaaaaaaaaaaadministrationのaaaaaaaaaaa。 &のAA、AAAのaaaaaaaaa、aaaaaaaaa aaaaaaaaaのAAAAA aaaaaaaaa AAA AAAAAA aaaaaaaaをaaaaaaaaa aaaaaaaaa aaaaaaaaをAAA、AAAA AAAAAA AAAAAA AAAAAA AAAAA AAAA AAのAA、AAAのAAAAAA aaaaaaaaを。

99/99/9999 AAAのAAAAAA AAAAAAAのAAAAAA AAAAのAAは、AAA 9 &のAA AA AAAAAAのAAAAA AAAAA AAAA用のAAAAAAAA、AAAAAAAAAAのAAAAは​​、AAA、AAAA AAAAAのAAAAAAAAのAAAAAAAAのAAAAAA。

99/99/9999 AAA - aaaaaaaaaaa AAAAAAAAAA。

AAA AAAAAAAAAA aaaaaaaaa AAAAAAA AAAA AAAAAA AAAAAのAA AA AAAAのAAAAAAのAAAAAAAのaaaaaaaaa AAAAA AAAAAのAAのAAのAAのAAAAのaaaaaaaaaaa。

99/99/9999 AAAのAAAAAのAAAAAA - 99/99/9999 AAAAAAのAAAAAA AAAAAAのAA、AAAのAAAAのAAAAのAAAAA AAAAAAAAAA A/aaaaaaaaa aaaaaaaaa AAAAAAAA。 99/99/9999 99/99/9999 AAAAAのAAAA、AAA単三AAAAAAAのaaaaaaaaaのAAAAAAAA、AAAのAAAAAA AAAAAのAAのAAのAA aaaaaaaaa 99のAA、AA、AAAのAAAAAAAのaaaaaaaaaのAAAAAAAA、AAAAAAAAのAAAAA AAAAのAAA AAAAAAAAAAのaaaaaaaaaaaのYYYYのYYYY aaaaaaaaaaaaa AAA aaaaaaaaaaaaaadministrationのYYYYのAAは、AAA aaaaaaaaaaa AAAAAAAAAA AAAAAAAAAAのAAAAAAAAAA。

99/99/9999 AAA AAAA AAAAA - AAA AAAA AAAAAAA A & AAAAAAAAAAのAA、AA、AAAのAAAAAAのAAAAAのAAAA AAAAのAAAAAAA単三AAAAA 9999

Aaaaaaaaa AAAAAAのAAAAAのAAのAA、AAは、AAA 9、9999のAAA AAAAAAAのAAAAAAAAのAAAAA AAA aaaaaaaaをAAAA Aaと。 AAAAAAAA AAA AAAA AAAAAA AAAAAA AAAAAAAのAA AA Aaの& AAA AAAAAAAAのAAAAAAのAAAAのAAAA。 AAAAのAA、AAAのAAAAAAA AAAAAのAAAAのAAA AA AAAAAAAAAAのAAAAAAAAAA AAAAAのAA AA AAのAAAAAAAAAAのAAAAAのAAAAAA。

99/99/9999 AAAAAAA aaa'aのYYYYのAA

99/99/9999 - Y/YYYY YYのaaaaaaaaaaaaaadministration

99/99/9999 AAAAAAAのaaa'aのYYYYのaaaaaaaaaaaaaadministration

99/99/9999 - AAAA AAAAAA AAAAAAのAAAAAAAAのAAは、AAA AAAAAAAAAA 99/99/9999 - AAAAは​​、AAA、AA、AAA AAAAAA AAAAAA AAAAAA AAAA AAAA AAAAA AAAA AAAA、AAA、AAA 99、9999 AAAAA AAA AAA AAAAAAAAAA

99/99/9999 - YYYY aaa'aのAAAA AAAAAAのAAAAAAAAのAAのAAAA AAAAのAAAAAAAのaaaaaaaaaaa 99/99/9999 - AAAA AAAAAAのAAAAAAのAAのAA:Y/YYYY単三YYYY。 Aaaaaaaaa AAAAAAA AAAAAA AAAA AAA AAA AAA AAA aaaaaaaaaaa AAAAAAA AAA AA、AAAのAAのAAAAAAのAAAAA。 AAA AAA AAAA AAAA AAAAA AAAAA aaaaaaaaをAAA、AAA、AAAA AAAA AAAA AAのAaaaaaaaa。 AAAA AAAAAのAA、AAA/YのAAAAA AAAAAの。 AAA AAのAAAAAAのAAAA AAAAA AAAAAの。

99/99/9999 - AAAAA AAAのAAAAAA aaaaaaaaを。AAAAA AAAAAAAAAA AAAAAAAA AAA Aaaaaaaaa AAAA AAAAのAAAAAのAAAAAAAのAAAAAAAA、AAAAAAA、AAAAA AAのAAA、AAのAAAA AAAAのAAAAAAAのAA AAAAAAAA単三AAAAAAA、AAAA AAAAA、AAA AAAAAA、AAAAのAA AAAAAAAA、AAAAのAA AAAAAAAAAA、AAAAAAA AAAAAのAAAAAA。 AAAAA AAAAA AAAA、AAA AAAAAAA AAAAAAAAのAA、AAAのAAAAAAAAAA aaaaaaaaaaaのAA AAAAAAAAのaaaaaaaaaのAAAAAAA(AAAAAのAA AAAAAAAAAA単三AAAA 9999)。 AAAAのAA AAAAAのAA AAAA AAのAAAAAA単三AAAA。 AaaのAAAAAAAAは​​、AAA AAAAAAAAAAのAA AAAAAAAAAA単三AAAAAAAAのAAAAAAAA、AAAAAA AAAAAのAAは、AAA AAAAAA aaaaaaaaaaaのAAAAA用のAAA AAAAAAAAのAA、AAA AAAAAAAAのAAAAAのAAは、AAA 9999のAA、AAA AAAAAAAのAA AAAAAAA単三AAAAAAAのAAAAAAAA。 9999 AaのAAA、Aaと。 AAAAAAAA AAAAAのAAAAAAAAAA AAA aaaaaaaaをaaaaaaaaを、AAAのAA AAAA AAAのAAAAAAAのAA AAAAのAAA AA AAAのaaaaaaaaを。 AA AA AAAAAのAA Aaと。 AAAAのAAAA AAAA aaaaaaaaaのAAAAAAAAAA aaaaaaaaを。 AaaのA/AA、AAAのAAAAA AAAAAは​​、AAA 9999 AAAAA AAAAのAAAAAAAA AAAA単三AAAAAAAAAA、AAAAのAA aaaaaaaaaaaaaのAAAのaaaaaaaaa、AAAAAAA、aaaaaaaaa、aaaaaaaaa AAAA、aaaaaaaaaaaaa。 Aaaaaaaaa:AAAAAのAAA AAAAAAAAのAA AAAAAAAのAA AAAAのAAAAA、AAAAAAAのAAAA、AAA AAAAAAAAのAAAAAAA aaaaaaaaaのAAA、AAAAのAA AAAAのAAAAAAAAのAA AAAAA aaaaaaaaaのAAAAAAAのAA AAAA-AAAAAAAAAAのAAAAAAAAAA、AAA aaaaaaaaaのAAAAAAAのAAAA。 「

+0

あなたがここに完全なスタックを貼り付けることができましたエラー –

+0

のjava.lang.Exceptionは何ですか。?: 2015年1月20日にFAILFAST。 –

+1

私は本当に質問を理解していない。問題は、CSVファイルのサイズが、大きい方では、いくつかの壊れたレコードの存在に関連していないようです。私が交差 – maasg

答えて

1

スパークのCSVの関係は、そのTextBasedFileFormatに基づいており、唯一のラインごとに入力を見て、あなたはあなたができるレコード複数行をサポートする必要がある場合、それは。複数行のレコードをサポートしていませんされて(理想的にこれは前処理データのクリーンアップジョブとして実行する必要があります)入力を解析する代わりに、手動でwholeTextFilesを使用して見て

+0

私たちのロジックで、我々は多くの変換を適用して、我々はデータフレームをしようとしていたので、ハイブの表にデータをロードする必要があるため。私はmapred-site.xmlでmapreduce.input.fileinputformat.split.minsizeを変更することで、ファイルをロードすることができました。 –

+0

だからあなたの新しいロードパスは何ですか? – Holden

+0

私はhiveContext.setConfでプログラム中にmapreduce.input.fileinputformat.split.minsizeを変更しようとしましたが、機能していません。であるがグローバルに変更するのではなく、そのようなファイルのためのプログラム自体でプロパティを変更することが可能です。 –

関連する問題