如果标题列名称没有相同的名称,是否可以将标题列名称绑定到Java bean字段?幕后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;
(...)