[
https://issues.apache.org/jira/browse/FLINK-14617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dominik Wosiński updated FLINK-14617:
-------------------------------------
Description:
The following code runs smoothly when the _executionEnvironment_ is instance of
_StreamExecutionEnvironment_:
{code:java}
val filePaths = //some links to s3 files
val job = Job.getInstance()
AvroReadSupport.setAvroDataSupplier(job.getConfiguration,
classOf[AvroDataSupplierWithTimestampConversion])
val avroParquetInputFormat = new AvroParquetInputFormat[GpsPointDTO]()
val hadoopInputFormat = new HadoopInputFormat[Void,
GpsPointDTO](avroParquetInputFormat, classOf[Void], classOf[GpsPointDTO], job)
FileInputFormat.addInputPaths(job, filePaths.head)
executionEnvironment.createInput(hadoopInputFormat).map(_._2).print(){code}
But when the _ExecutionEnvironment_ is used instead of
_StreamExecutionEnviroment,_ then the code throws the:
{code:java}
Caused by: java.lang.ClassCastException: class
org.apache.avro.generic.GenericData$Record cannot be cast to class
com.company.GpsPointDTO (org.apache.avro.generic.GenericData$Record and
com.company.GpsPointDTO are in unnamed module of loader 'app'){code}
I don't think this is the expected behavior.
The code simply reads some files from S3. It has the
_AvroSupplierWithTimestampConversion_ which is used to add timestamp conversion
to _DateTime_, _GpsPointDTO_ is a class generated from Avro schema.
was:
The following code runs smoothly when the _executionEnvironment_ is instance of
_StreamExecutionEnvironment_:
{code:java}
val filePaths = //some links to s3 files
val job = Job.getInstance()
AvroReadSupport.setAvroDataSupplier(job.getConfiguration,
classOf[AvroDataSupplierWithTimestampConversion])
val avroParquetInputFormat = new AvroParquetInputFormat[GpsPointDTO]()
val hadoopInputFormat = new HadoopInputFormat[Void,
GpsPointDTO](avroParquetInputFormat, classOf[Void], classOf[GpsPointDTO], job)
FileInputFormat.addInputPaths(job, filePaths.head)
executionEnvironment.createInput(hadoopInputFormat).map(_._2).print(){code}
But when the _ExecutionEnvironment_ is used instead of
_StreamExecutionEnviroment,_ then the code throws the:
{code:java}
Caused by: java.lang.ClassCastException: class
org.apache.avro.generic.GenericData$Record cannot be cast to class
com.company.GpsPointDTO (org.apache.avro.generic.GenericData$Record and
com.company.GpsPointDTO are in unnamed module of loader 'app'){code}
I don't think this is the expected behavior.
f
> Dataset Parquet ClassCastException for SpecificRecord
> -----------------------------------------------------
>
> Key: FLINK-14617
> URL: https://issues.apache.org/jira/browse/FLINK-14617
> Project: Flink
> Issue Type: Bug
> Affects Versions: 1.8.0
> Environment: {code:java}
> {code}
> Reporter: Dominik Wosiński
> Priority: Major
>
> The following code runs smoothly when the _executionEnvironment_ is instance
> of _StreamExecutionEnvironment_:
> {code:java}
> val filePaths = //some links to s3 files
> val job = Job.getInstance()
> AvroReadSupport.setAvroDataSupplier(job.getConfiguration,
> classOf[AvroDataSupplierWithTimestampConversion])
> val avroParquetInputFormat = new AvroParquetInputFormat[GpsPointDTO]()
> val hadoopInputFormat = new HadoopInputFormat[Void,
> GpsPointDTO](avroParquetInputFormat, classOf[Void], classOf[GpsPointDTO], job)
> FileInputFormat.addInputPaths(job, filePaths.head)
> executionEnvironment.createInput(hadoopInputFormat).map(_._2).print(){code}
> But when the _ExecutionEnvironment_ is used instead of
> _StreamExecutionEnviroment,_ then the code throws the:
> {code:java}
> Caused by: java.lang.ClassCastException: class
> org.apache.avro.generic.GenericData$Record cannot be cast to class
> com.company.GpsPointDTO (org.apache.avro.generic.GenericData$Record and
> com.company.GpsPointDTO are in unnamed module of loader 'app'){code}
> I don't think this is the expected behavior.
> The code simply reads some files from S3. It has the
> _AvroSupplierWithTimestampConversion_ which is used to add timestamp
> conversion to _DateTime_, _GpsPointDTO_ is a class generated from Avro schema.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)