com.univocity.parsers.common.TextParsingException: длина проанализированного ввода (1000001) превышает максимальное количество символов - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь запустить скрипт pyspark, но получаю вышеуказанную ошибку. Я использовал опцию ("maxCharsPerCol", "1100000"), но не смог решить проблему.

Не могли бы вы помочь мне решить эту проблему? Версия Pyspark - 2.0.0

Я использую приведенный ниже код при чтении и записи файла:

чтение:

df_read_file = sqlContext.read.format('com.databricks.spark.csv').option("delimiter", '\001').option("maxCharsPerCol","1000001L").options(header='true',inferSchema='false').load(row['Source File Name Lnd'])

запись:

df.repartition(1).write.format('com.databricks.spark.csv').mode('overwrite').save(output_path, sep='\001',header='True',nullValue=None)

Ошибка:

Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 9 in stage 6.0 failed 1 times, most recent failure: Lost task 9.0 in stage 6.0 (TID 15, localhost): 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:

1 Ответ

0 голосов
/ 09 апреля 2020

Я исправил проблему, используя параметр ниже:

В некоторых файлах я использую quote=''

df_read_file = sqlContext.read.format('com.databricks.spark.csv').option("delimiter", '\001').options(header='true', quote='',inferSchema='false').load(row['Source File Name Lnd'])

В некоторых файлах я использую escape=''

df_read_file = sqlContext.read.format('com.databricks.spark.csv').option("delimiter", '\001').options(header='true', escape='',inferSchema='false').load(row['Source File Name Lnd'])

Запустите с этой опцией, я смогу решить свою проблему.

...