Связывание полей bean-компонентов со столбцами файлов во время загрузки файла в набор данных - PullRequest
0 голосов
/ 03 марта 2019

Можно ли привязать имена столбцов заголовков к полям Java-бина, если они не имеют одинакового имени?Какой сериализатор использует Spark под крышкой?

Когда я пытаюсь создать набор данных, загружающий CSV-файл, например:

Dataset<Employee> employeeDs = frameReader.load(EMPLOYEE).as(bean(Employee.class));

Я получаю исключение:

org.apache.spark.sql.AnalysisException: cannot resolve '`companyCode`' given input columns: [NAME, AGE, COMPANY_CODE];

Это имеет смысл, поскольку COMPANY_CODE не ассоциируется с companyCode .

CSV file:
+-------+---+------------+
|   NAME|AGE|COMPANY_CODE|
+-------+---+------------+
|   John| 41|           1|
|   Mary| 34|           1|
|  Chris| 32|           2|
|Phillip| 22|           2|
|   Tony| 44|           1|
+-------+---+------------+

Employee.class:    
public class Employee {

    private String name;

    private int companyCode;

    private int age;

(...)
...