2016-08-04 6 views
0

Ich bin sehr neu zu funken. Ich habe eine CSV-Datei mit nur 2 Spalten. Die CSV-Datei ist groß (30 Millionen Zeilen). Ich versuche, spark-csv_2.10:1.2.0 zu verwenden, um es auf Datenrahmen zu laden.Ausnahme beim Lesen csv in Funken

Ich verwende den folgenden Code ein:

df = sqlContext.read.load('file:///path/file_third.csv', 
          format='com.databricks.spark.csv', 
          header='true', 
          inferSchema='true') 

ich folgende Fehler bekommen:

[Stage 2:>               (0 + 8)/10]16/08/04 15:32:57 ERROR Executor: Exception in task 1.0 in stage 2.0 (TID 3) 
com.univocity.parsers.common.TextParsingException: Length of parsed input (1000001) exceeds the maximum number of characters defined in your parser settings (1000000). 
Identified line separator characters in the parsed content. This may be the cause of the error. The line separator in your parser settings is set to '\n'. Parsed content: 

Und der folgende Hinweis kommt. Ich schätze, es ist nicht in der Lage, Zeilenumbruch zu verstehen.

Hint: Number of characters processed may have exceeded limit of 1000000 characters per column. Use settings.setMaxCharsPerColumn(int) to define the maximum number of characters a column can have 
Ensure your configuration is correct, with delimiters, quotes and escape sequences that match the input format you are trying to parse 
Parser Configuration: CsvParserSettings: 
    Auto configuration enabled=true 
    Autodetect column delimiter=false 
    Autodetect quotes=false 
    Column reordering enabled=true 
    Empty value=null 
    Escape unquoted values=false 
    Header extraction enabled=null 
    Headers=[1235187239212711042, 0006] 
    Ignore leading whitespaces=false 
    Ignore trailing whitespaces=false 
    Input buffer size=128 
    Input reading on separate thread=false 
    Keep escape sequences=false 
    Line separator detection enabled=false 
    Maximum number of characters per column=1000000 
    Maximum number of columns=20480 
    Normalize escaped line separators=true 
    Null value= 
    Number of records to read=all 
    Row processor=none 
    RowProcessor error handler=null 
    Selected fields=none 
    Skip empty lines=true 
    Unescaped quote handling=STOP_AT_DELIMITERFormat configuration: 
    CsvFormat: 
     Comment character=\0 
     Field delimiter=, 
     Line separator (normalized)=\n 
     Line separator sequence=\n 
     Quote character=" 
     Quote escape character=\ 
     Quote escape escape character=null 

Wie löst man diesen Fehler?

+0

Lassen Sie mich wissen, wenn Sie den gleichen Fehler für eine kleine Probe (<10.000 Zeilen) der Daten –

+0

@ Umberto bekommen, ja ich bekomme diesen Fehler für eine kleinere Datei nicht. Gibt es eine Möglichkeit, eine so große Datei in Spark zu lesen? – Vraj

+0

Könnte der folgende Fehler sein [SPARK-14103] (https://issues.apache.org/jira/browse/SPARK-14103) Wenn Sie ein spezielles Feld verwenden, erkennt der Parser die Zeilenumbrüche nicht und versucht, unendlich mehr hinzuzufügen und mehr Zeilen zu einer einzigen Spalte und stürzt ab. –

Antwort

0

Den Parameter maxCharsPerColumn auf einen höheren Wert setzen.