org.apache.spark.sql.AnalysisException:无法从UDF_DTTM_3#54中提取值:需要结构类型但有时间戳;

时间:2018-07-16 07:16:14

标签: java apache-spark apache-spark-dataset

代码:

JavaRDD<RuleParamsBean> javaRDD = ds.toJavaRDD();

org.apache.spark.sql.Dataset.toJavaRDD()函数引发此错误。

我在RuleParamsBean,java类中有很多字段。

其中之一是:UDF_DTTM_3,其引发错误。

下面是声明和设置方法的获取方法。

private Date UDF_DTTM_3;
public Date getUDF_DTTM_3() {
        return UDF_DTTM_3;
    }
    public void setUDF_DTTM_3(Date uDF_DTTM_3) {
        UDF_DTTM_3 = uDF_DTTM_3;
    }

我不明白为什么会引发此错误。

如果需要更多详细信息,请告诉我。

编辑

UDF_DTTM_3 在Oracle DB中的数据类型为 DATE

UDF_DTTM_3 在RuleParamsBean.java中具有数据类型 java.util.Date

1 个答案:

答案 0 :(得分:1)

在上述错误map类中,将 UDF_DTTM_3 数据类型从 java.util.Date 更改为 java.sql.Date 时已解决。