尝试从数据集中将数据加载到Hive表时出现错误:
org.apache.spark.sql.catalyst.analysis.UnresolvedException:无效 调用未解析对象树上的dataType:'ipl_appl_signed_date
我的数据集包含与Hive表相同的列,要获取错误的列在我的代码(Java)和Hive中都具有Date数据类型。
java代码:
Date IPL_APPL_SIGNED_DATE =rs.getDate("DTL.IPL_APPL_SIGNED_DATE"); //using jdbc to get record.
Encoder<DimPolicy> encoder = Encoders.bean(Foo.class);
Dataset<DimPolicy> test=spark.createDataset(allRows,encoder); //spark is the spark session
test.write().mode("append").insertInto("someSchema.someTable"); //
答案 0 :(得分:1)
我认为该问题是由于Spark中的错误(即[SPARK-26379] Use dummy TimeZoneId for CurrentTimestamp to avoid UnresolvedException in CurrentBatchTimestamp)导致的,该错误已在2.3.3、2.4.1、3.0.0中修复。
一种解决方案是将其降级到不受错误影响的Spark版本(或等待新版本)。