Анализ CSV-файла Windows в Linux в Apache Spark

Я пытаюсь проанализировать файл CSV, поступающий с компьютера Windows, на компьютер Linux с помощью Apache Spark, но символы с акцентом, похоже, не распознаются...

Dataset<Row> df = spark
    .read()
    .format("csv")
    .option("header", "true")
    .option("inferSchema", "true")
    .load("file.csv");
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
206
2

Ответы 2

Похоже, вы почти у цели. Пытаться:

Dataset<Row> df = spark
    .read()
    .format("csv")
    .option("header", "true")
    .option("inferSchema", "true")
    .option("encoding", "cp1252")
    .load("file.csv");

Вы можете указать encoding как опцию. Для Windows это cp1252.

cp1252 = Windows?

Laura Webster 03.02.2019 21:30

Скорее всего... Особенно, если ваш файл исходит из Excel.

jgp 03.02.2019 21:31

Другой способ — запустить команду dos2unix для файла из Terminal после его переноса в Linux.

dos2unix <file_name>

Это гарантирует, что символы возврата каретки будут удалены из файла, и он станет удобным для Linux.

Другие вопросы по теме