Adesh Dsilva
04/07/2023, 5:27 PMtableEnv.createTemporaryTable("myTable", TableDescriptor.forConnector("filesystem")
.schema(schema)
.option("path", "path-to-file.orc")
.format("orc")
.build());
Exception I get:
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1024
at org.apache.orc.impl.TreeReaderFactory$TreeReader.nextVector(TreeReaderFactory.java:255)
at org.apache.orc.impl.TreeReaderFactory$DoubleTreeReader.nextVector(TreeReaderFactory.java:762)
at org.apache.orc.impl.ConvertTreeReaderFactory$DecimalFromDoubleTreeReader.nextVector(ConvertTreeReaderFactory.java:1297)
Adesh Dsilva
04/11/2023, 10:21 AMAdesh Dsilva
04/12/2023, 10:28 AM1.6.6
and even the latest Flink 1.17.0
still uses the old orc library 1.5.6
However I am now facing a different issue:
Table myTable = tableEnv.from("myTable")
.where($("raw_id").isEqual("3ugg02hhun851"))
.where($("data").isNotNull())
.limit(1);
A simple isEqual filter seems to work and prints the data however when I add a NOT predicate using isNotNull
it throws a null pointer exception.
Caused by: java.lang.NullPointerException
at org.apache.flink.orc.OrcFilters$Not.add(OrcFilters.java:678)
Anyone has an idea what might be the problem here?Adesh Dsilva
04/12/2023, 11:17 AMSchema schema = Schema.newBuilder()
.column("id", DataTypes.BIGINT())
.column("raw_id", DataTypes.STRING())
.column("data", DataTypes.ROW(
DataTypes.FIELD("gender", <http://DataTypes.INT|DataTypes.INT>())
))
.build();
Adesh Dsilva
04/12/2023, 11:57 AMPredicateLeaf.Type colType =
toOrcType(
((FieldReferenceExpression) callExp.getChildren().get(0))
.getOutputDataType());
if (colType == null) {
// unsupported type
LOG.debug(
"Unsupported predicate [{}] cannot be pushed into OrcFileSystemFormatFactory.",
callExp);
return null;
}
Seems like the colType is being returned as null? Does Flink orc not support nested fields?
I could only see simple fields in toOrcType
method.