From 5af585d4ccba0dcc406e43533c607cac9e3e1975 Mon Sep 17 00:00:00 2001 From: Yan Ma Date: Fri, 12 Apr 2024 08:40:22 +0800 Subject: [PATCH] [GLUTEN-5344][VL] Add some parquet example files from parquet-mr for native read test (#5345) --- .../parquet-for-read/test-append_1.parquet | Bin 0 -> 7375 bytes .../parquet-for-read/test-append_2.parquet | Bin 0 -> 7374 bytes .../test-empty-row-group_1.parquet | Bin 0 -> 191 bytes .../test-empty-row-group_2.parquet | Bin 0 -> 675 bytes .../test-empty-row-group_3.parquet | Bin 0 -> 781 bytes ...test-file-with-no-column-indexes-1.parquet | Bin 0 -> 35855 bytes .../sql/execution/VeloxParquetReadSuite.scala | 46 ++++++++++++++++++ 7 files changed, 46 insertions(+) create mode 100644 backends-velox/src/test/resources/parquet-for-read/test-append_1.parquet create mode 100644 backends-velox/src/test/resources/parquet-for-read/test-append_2.parquet create mode 100644 backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_1.parquet create mode 100644 backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_2.parquet create mode 100644 backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_3.parquet create mode 100644 backends-velox/src/test/resources/parquet-for-read/test-file-with-no-column-indexes-1.parquet create mode 100644 backends-velox/src/test/scala/org/apache/spark/sql/execution/VeloxParquetReadSuite.scala diff --git a/backends-velox/src/test/resources/parquet-for-read/test-append_1.parquet b/backends-velox/src/test/resources/parquet-for-read/test-append_1.parquet new file mode 100644 index 0000000000000000000000000000000000000000..a255f86ebcf8147712d9f07ed85631e5a738708a GIT binary patch literal 7375 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 literal 0 HcmV?d00001 diff --git a/backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_1.parquet b/backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_1.parquet new file mode 100644 index 0000000000000000000000000000000000000000..ac8c2dcff16fc9533c086d755c3dfbe91540f933 GIT binary patch literal 191 zcmWG=3^EjD5oHi%@BtA*3=C>2GNMe9rUDFXk`j!Gq6}gTVlrYfY7A-|nlfOOObiSR zqAZd+rVJ8n#mO0|xrw4o45Cb`OhDy8)sixjGDMjHG!|&6n2ZPmgN9~7Vo_mfYKd-g vL4j^!QBi)mLRo52ab|v=f}x?Ffu4bGu%BZK#E{stfp06HB2lG7Z} literal 0 HcmV?d00001 diff --git a/backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_2.parquet b/backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_2.parquet new file mode 100644 index 0000000000000000000000000000000000000000..56fe96fed0a61c829717f38715f78418403bc694 GIT binary patch literal 675 zcmb`F&q~8U5XNVxVaYLs&XR>a^y1P&Qkp|A;-xnaMT7MPLJ8G`Bee4fv`th=V9>lOUOx5VUm7;$5r7alM0^0WIV?Gsk^Cq2guyuDJotB;At7M>i_byhab l=4JF;HQU?G{V30;v*|2bT`Y>#`Q^2Bj^E-`0TlduegSD*LFNDe literal 0 HcmV?d00001 diff --git a/backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_3.parquet b/backends-velox/src/test/resources/parquet-for-read/test-empty-row-group_3.parquet new file mode 100644 index 0000000000000000000000000000000000000000..7efd8a81a88c7c378b316545beb22d96e6c3534b GIT binary patch literal 781 zcmb_bOHRWu5FI-qvRFk?$BHE{y1{Ctq-qyEKzA%Eh$t6`sz|Vagp|*o6ChSO0ZUe# zf>SXQB3jBvT{LpWnkT*Sd(UzYRtcfNJs)fxr#ka5zI*h^{+hQn^E+6{$MZLN#ultk9XgnIHi<4QlI6gf$*3t!*0wAM@ F@BznlOcnqD literal 0 HcmV?d00001 diff --git a/backends-velox/src/test/resources/parquet-for-read/test-file-with-no-column-indexes-1.parquet b/backends-velox/src/test/resources/parquet-for-read/test-file-with-no-column-indexes-1.parquet new file mode 100644 index 0000000000000000000000000000000000000000..722e687ee63ac0c67ce237cecc6d2ea2d6883572 GIT binary patch literal 35855 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 literal 0 HcmV?d00001 diff --git a/backends-velox/src/test/scala/org/apache/spark/sql/execution/VeloxParquetReadSuite.scala b/backends-velox/src/test/scala/org/apache/spark/sql/execution/VeloxParquetReadSuite.scala new file mode 100644 index 000000000000..d5828c738f33 --- /dev/null +++ b/backends-velox/src/test/scala/org/apache/spark/sql/execution/VeloxParquetReadSuite.scala @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.spark.sql.execution + +import org.apache.gluten.execution.{BasicScanExecTransformer, VeloxWholeStageTransformerSuite} + +import java.io.File + +class VeloxParquetReadSuite extends VeloxWholeStageTransformerSuite { + override protected val resourcePath: String = "/parquet-for-read" + override protected val fileFormat: String = "parquet" + + testWithSpecifiedSparkVersion("read example parquet files", Some("3.5"), Some("3.5")) { + withTable("test_table") { + val dir = new File(getClass.getResource(resourcePath).getFile) + val files = dir.listFiles + if (files != null) { + files.foreach { + file => + // Exclude parquet files failed to read by velox for now + if (file.getName != "test-file-with-no-column-indexes-1.parquet") { + val df = spark.read.parquet(file.getAbsolutePath) + df.createOrReplaceTempView("test_table") + runQueryAndCompare("select * from test_table") { + checkGlutenOperatorMatch[BasicScanExecTransformer] + } + } + } + } + } + } +}