Ошибка преобразования двойного атрибута из CSV-файла в Java двойной. Апач флинк - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь преобразовать столбец (с именем result) из CSV-файла в двойной тип данных в Java Apache Flink. Пример значения этого столбца в файле CSV: 123,456. В этом столбце не более 3 цифр до и после запятой. Я использую для этого класс TableSource. Я получаю сообщение об ошибке ниже: Caused by: org.apache.flink.api.common.io.ParseException: Parsing error for column 2 of row '5182; 57,01' originated by DoubleParser: NUMERIC_VALUE_FORMAT_ERROR.

Я уже пытался заменить "," на "."как вы можете видеть в коде ниже. Но приведенный ниже код не заменяет «,» на «.».

ExecutionEnvironment fbEnv = ExecutionEnvironment.getExecutionEnvironment();
 BatchTableEnvironment tableEnv = BatchTableEnvironment.create(fbEnv);

//CSV file to Tablesource
TableSource csvSource = CsvTableSource.builder()
                .path("path")
                .fieldDelimiter(";")
                .field("ID", Types.INT())
                .field("result".replace(",", "."), Types.DOUBLE())
                .build();

// register the TableSource 
        tableEnv.registerTableSource("HTable", csvSource);

        Table HTable = tableEnv.scan("HTable");


        DataSet<Row> result = tableEnv.toDataSet(HTable, Row.class);

//Print table
 try {
            result.print();

        } catch (Exception e) {
            e.printStackTrace();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...