moran created FLINK-22271:
-----------------------------
Summary: FlinkSQL Read Hive(parquet file) field does not exist
Key: FLINK-22271
URL:
https://issues.apache.org/jira/browse/FLINK-22271 Project: Flink
Issue Type: Bug
Components: Table SQL / API
Affects Versions: 1.12.2
Reporter: moran
Create a parquet table format student insert the data for each field is not empty, FlinkSQL can query the table, if you add a field after query error.
1.Step:
CREATE TABLE tmp.student (
name STRING,
age INT
)
STORED AS PARQUET;
insert into table tmp.student values ("java", 12);
FlinkSQL can read the table at this point.
2.Step:
alter table tmp.student add columns(update_time timestamp);
Query error after adding field update_time.
error:
java.lang.IllegalArgumentException: update_time does not exist
at org.apache.flink.hive.shaded.formats.parquet.ParquetVectorizedInputFormat.clipParquetSchema(ParquetVectorizedInputFormat.java:193)
at org.apache.flink.hive.shaded.formats.parquet.ParquetVectorizedInputFormat.createReader(ParquetVectorizedInputFormat.java:120)
at org.apache.flink.hive.shaded.formats.parquet.ParquetVectorizedInputFormat.createReader(ParquetVectorizedInputFormat.java:73)
at org.apache.flink.connectors.hive.read.HiveBulkFormatAdapter.createReader(HiveBulkFormatAdapter.java:108)
at org.apache.flink.connectors.hive.read.HiveBulkFormatAdapter.createReader(HiveBulkFormatAdapter.java:63)
at org.apache.flink.connector.file.src.impl.FileSourceSplitReader.checkSplitOrStartNext(FileSourceSplitReader.java:112)
at org.apache.flink.connector.file.src.impl.FileSourceSplitReader.fetch(FileSourceSplitReader.java:65)
at org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:56)
at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:138)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)