Как читать CSV в pyspark, используя error_bad_line = False, как мы используем в пандах - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь прочитать csv в pyspark, но проблема в том, что у него есть текстовый столбец, из-за которого в данных есть какая-то плохая строка

Этот текстовый столбец также содержит символы новой строки, из-за чего данные в следующих столбцах повреждаются

Я пытался использовать панды и использовать некоторые дополнительные параметры для загрузки моего CSV

a = pd.read_csv("Mycsvname.csv",sep = '~',quoting=csv.QUOTE_NONE, dtype = str,error_bad_lines=False, quotechar='~', lineterminator='\n' )

В пандах работает нормально, но я хочу загрузить CSV в pyspark. Итак, есть ли подобный способ загрузить CSV-файл в pyspark со всеми вышеуказанными параметрами?

1 Ответ

0 голосов
/ 11 сентября 2018

В текущей версии spark (я думаю, что она существует даже начиная с версии 2.2), вы также можете читать многострочные из csv.

Если новая строка - ваша единственная проблема с текстовым столбцом, вы можете использовать команду чтения следующим образом:

spark.read.csv("YOUR_FILE_NAME", header="true", escape="\"", quote="\"", multiLine=True)

Примечание: в нашем случае символы escape и кавычки, где оба ", поэтому вы можете отредактировать эти опции с помощью ~ и включить sep = '~'. Вы также можете посмотреть документацию (http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html?highlight=csv#pyspark.sql.DataFrameReader.csv) для более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...