Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-23 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4307311735

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.91%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 76 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-20 Thread via GitHub


yihua merged PR #18098:
URL: https://github.com/apache/hudi/pull/18098


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-20 Thread via GitHub


yihua commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3112101275


##
hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/hudi/SparkAdapter.scala:
##
@@ -76,6 +76,17 @@ trait SparkAdapter extends Serializable {
*/
   def injectTableFunctions(extensions: SparkSessionExtensions): Unit = {}
 
+  /**
+   * Inject scalar functions into Spark SQL function registry.
+   * These functions can be used in SQL SELECT clauses.
+   */
+  def injectScalarFunctions(extensions: SparkSessionExtensions): Unit
+
+  /**
+   * Inject planner strategies to SparkSessionExtensions for converting custom 
logical plans into physical plans.
+   */
+  def injectPlannerStrategies(extensions: SparkSessionExtensions): Unit

Review Comment:
   To align with most methods in `SparkAdapter`, there is no need to use 
`no-op` default.



##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,773 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.TaskContext
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logge

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-20 Thread via GitHub


yihua commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3111787205


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,772 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logger = LoggerFactory.getLogger(classOf[BatchedBlobReader])
+
+  /**
+   * Process a partition iterator, batching consecutive reads.
+   *
+   * This method consumes the input iterator and produces an output iterator
+   * with each row containing the original data plus a "data" column with the
+   * bytes read from the file.
+   *
+   * @param rows Iterator of input rows with struct column
+   * @param structColIdx Index of the struct column in the row
+   * @param outputSchema Schema for output rows
+   * @param accessor Type class for accessing row fields
+   * @param builder  Type class for building output rows
+   * @tparam R   Row type (Row or InternalRow)
+   * @return Iterator of output rows with data column added
+   */
+  def processPartition[R](
+  rows: Iterator[R],
+   

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274788454

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.91%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274783237

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.91%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274779228

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.91%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274459030

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 5bfc1f2021d48c049b86ab5883cb0f37db7872af Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13366)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274380155

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.91%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274360276

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.06%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274356955

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.03%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274355670

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.06977%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 67.93%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.00% | [13 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 46.66% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274354516

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.37209%` with `93 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 67.89%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.27% | [15 Missing and 31 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274352936

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 66.04%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274349106

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 65.90%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274341745

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 65.78%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274338586

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 61.23%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274337720

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 58.75%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274331726

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 47.88%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274333975

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 58.75%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274332723

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 58.72%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274331652

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 22d2e71a8737b93b3479302a462268ee3a9d39d9 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13330)
 
   * 5bfc1f2021d48c049b86ab5883cb0f37db7872af Azure: 
[PENDING](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13366)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274331387

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 47.83%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274328662

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `7.44186%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 45.05%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274327120

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.79157%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 45.50%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274325113

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `5.46318%` with `398 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 46.52%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [275 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274319865

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 53.89%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (5bfc1f2). Click for more details.
   > 
   > HEAD has 27 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (5bfc1f2) |
   >|--|--|--|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   53.89%   -14.64% 
   + Complexity2796812313-15655 
   =
 Files  2440 1429 -1011 
 Lines13445671363-63093 
 Branches  16226 8068 -8158 
   =
   - Hits  9213838461-53677 
   + Misses3505429461 -5593 
   + Partials   7264 3441 -3823 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.78% <ø> (-0.21%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `48.40% <ø> (+0.02%)` | :arrow_up: |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...scala/org/apache/spark/sql/hudi/SparkAdapter.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-client%2Fhudi-spark-client%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2FSparkAdapter.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1jbGllbnQvaHVkaS1zcGFyay1jbGllbnQvc3JjL21haW4vc2NhbGEvb3JnL2FwYWNoZS9zcGFyay9zcWwvaHVkaS9TcGFya0FkYXB0ZXIuc2NhbGE=)
 | `0.00% <ø> (-54.55%)` | :arrow_down: |
   
   ... and [1808 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analyt

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274277764

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 44.78%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`5bfc1f2`](https://app.codecov.io/gh/apache/hudi/commit/5bfc1f2021d48c049b86ab5883cb0f37db7872af?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 53 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (5bfc1f2). Click for more details.
   > 
   > HEAD has 28 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (5bfc1f2) |
   >|--|--|--|
   >|spark-client-hadoop-common|1|0|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   44.78%   -23.74% 
   + Complexity27968 8504-19464 
   =
 Files  2440 1199 -1241 
 Lines13445662351-72105 
 Branches  16226 6733 -9493 
   =
   - Hits  9213827927-64211 
   + Misses3505431375 -3679 
   + Partials   7264 3049 -4215 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.78% <ø> (-0.21%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   [see 2054 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4274257326

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 22d2e71a8737b93b3479302a462268ee3a9d39d9 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13330)
 
   * 5bfc1f2021d48c049b86ab5883cb0f37db7872af UNKNOWN
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-18 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3105559356


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,761 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logger = LoggerFactory.getLogger(classOf[BatchedBlobReader])
+
+  /**
+   * Process a partition iterator, batching consecutive reads.
+   *
+   * This method consumes the input iterator and produces an output iterator
+   * with each row containing the original data plus a "data" column with the
+   * bytes read from the file.
+   *
+   * @param rows Iterator of input rows with struct column
+   * @param structColIdx Index of the struct column in the row
+   * @param outputSchema Schema for output rows
+   * @param accessor Type class for accessing row fields
+   * @param builder  Type class for building output rows
+   * @tparam R   Row type (Row or InternalRow)
+   * @return Iterator of output rows with data column added
+   */
+  def processPartition[R](
+  rows: Ite

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


yihua commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3104181673


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,761 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logger = LoggerFactory.getLogger(classOf[BatchedBlobReader])
+
+  /**
+   * Process a partition iterator, batching consecutive reads.
+   *
+   * This method consumes the input iterator and produces an output iterator
+   * with each row containing the original data plus a "data" column with the
+   * bytes read from the file.
+   *
+   * @param rows Iterator of input rows with struct column
+   * @param structColIdx Index of the struct column in the row
+   * @param outputSchema Schema for output rows
+   * @param accessor Type class for accessing row fields
+   * @param builder  Type class for building output rows
+   * @tparam R   Row type (Row or InternalRow)
+   * @return Iterator of output rows with data column added
+   */
+  def processPartition[R](
+  rows: Iterator[R],
+   

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4270407109

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 22d2e71a8737b93b3479302a462268ee3a9d39d9 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13330)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269976549

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.46%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269980259

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.46%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269973084

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.46%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269955054

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.70%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269916950

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.64%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269910122

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.53%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269900530

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.84615%` with `88 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 68.42%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 84.46% | [13 Missing and 28 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269895008

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 66.65%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 46 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269861890

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 61.87%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269838873

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 61.85%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269837805

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 7d152b1ec05a326cfb746aa12e420855fa8b5dd1 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13328)
 
   * 22d2e71a8737b93b3479302a462268ee3a9d39d9 Azure: 
[PENDING](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13330)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269833452

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 59.29%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269826494

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 48.33%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269824261

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 48.29%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269794671

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `5.60976%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 46.54%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269799365

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.97115%` with `387 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 45.49%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [264 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269785353

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 53.93%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (22d2e71). Click for more details.
   > 
   > HEAD has 27 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (22d2e71) |
   >|--|--|--|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   53.93%   -14.59% 
   + Complexity2796812308-15660 
   =
 Files  2440 1429 -1011 
 Lines13445671211-63245 
 Branches  16226 8038 -8188 
   =
   - Hits  9213838411-53727 
   + Misses3505429366 -5688 
   + Partials   7264 3434 -3830 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.79% <ø> (-0.20%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `48.44% <ø> (+0.07%)` | :arrow_up: |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...scala/org/apache/spark/sql/hudi/SparkAdapter.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-client%2Fhudi-spark-client%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2FSparkAdapter.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1jbGllbnQvaHVkaS1zcGFyay1jbGllbnQvc3JjL21haW4vc2NhbGEvb3JnL2FwYWNoZS9zcGFyay9zcWwvaHVkaS9TcGFya0FkYXB0ZXIuc2NhbGE=)
 | `0.00% <ø> (-54.55%)` | :arrow_down: |
   
   ... and [1806 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analyt

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269661168

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 44.79%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`22d2e71`](https://app.codecov.io/gh/apache/hudi/commit/22d2e71a8737b93b3479302a462268ee3a9d39d9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (22d2e71). Click for more details.
   > 
   > HEAD has 28 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (22d2e71) |
   >|--|--|--|
   >|spark-client-hadoop-common|1|0|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   44.79%   -23.73% 
   + Complexity27968 8492-19476 
   =
 Files  2440 1199 -1241 
 Lines13445662199-72257 
 Branches  16226 6703 -9523 
   =
   - Hits  9213827863-64275 
   + Misses3505431291 -3763 
   + Partials   7264 3045 -4219 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.79% <ø> (-0.20%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   [see 2054 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269612024

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 7d152b1ec05a326cfb746aa12e420855fa8b5dd1 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13328)
 
   * 22d2e71a8737b93b3479302a462268ee3a9d39d9 UNKNOWN
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269593140

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13317)
 
   * 7d152b1ec05a326cfb746aa12e420855fa8b5dd1 Azure: 
[PENDING](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13328)
 
   * 22d2e71a8737b93b3479302a462268ee3a9d39d9 UNKNOWN
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3101667045


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/ReadBlobRule.scala:
##
@@ -0,0 +1,173 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.catalyst.expressions.{Alias, Attribute, 
AttributeReference, Expression, ExprId, NamedExpression}
+import org.apache.spark.sql.catalyst.plans.logical.{Filter, LogicalPlan, 
Project}
+import org.apache.spark.sql.catalyst.rules.Rule
+import org.apache.spark.sql.types.{DataType, StructType}
+
+import scala.collection.mutable
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Transforms queries with `read_blob()` to use lazy batched I/O.
+ *
+ * Replaces [[ReadBlobExpression]] markers with [[BatchedBlobRead]] nodes
+ * that read blob data during physical execution.
+ *
+ * Example: `SELECT id, read_blob(image_data) FROM table`
+ *
+ * @param spark SparkSession for accessing configuration
+ */
+case class ReadBlobRule(spark: SparkSession) extends Rule[LogicalPlan] {
+
+  override def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperatorsUp 
{
+case Project(projectList, Filter(condition, child))
+  if containsReadBlobExpression(projectList)
+&& containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+  val projectBlobCols = extractAllBlobColumns(projectList)
+  val filterBlobCols = extractBlobColumnsFromExpression(condition)
+  val blobColumns = (projectBlobCols ++ filterBlobCols)
+.foldLeft((mutable.LinkedHashSet.empty[ExprId], 
ArrayBuffer.empty[AttributeReference])) {
+  case ((seen, acc), a) if seen.add(a.exprId) => (seen, acc += a)
+  case ((seen, acc), _) => (seen, acc)
+}._2.toSeq
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, Filter(newCondition, wrappedPlan))
+
+case Filter(condition, child)
+  if containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractBlobColumnsFromExpression(condition)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  Project(child.output, Filter(newCondition, wrappedPlan))
+
+case Project(projectList, child)
+  if containsReadBlobExpression(projectList)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractAllBlobColumns(projectList)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, wrappedPlan)
+

Review Comment:
   Feel free to take this in a follow-up or suggest something concrete



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3101665262


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/ReadBlobRule.scala:
##
@@ -0,0 +1,173 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.catalyst.expressions.{Alias, Attribute, 
AttributeReference, Expression, ExprId, NamedExpression}
+import org.apache.spark.sql.catalyst.plans.logical.{Filter, LogicalPlan, 
Project}
+import org.apache.spark.sql.catalyst.rules.Rule
+import org.apache.spark.sql.types.{DataType, StructType}
+
+import scala.collection.mutable
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Transforms queries with `read_blob()` to use lazy batched I/O.
+ *
+ * Replaces [[ReadBlobExpression]] markers with [[BatchedBlobRead]] nodes
+ * that read blob data during physical execution.
+ *
+ * Example: `SELECT id, read_blob(image_data) FROM table`
+ *
+ * @param spark SparkSession for accessing configuration
+ */
+case class ReadBlobRule(spark: SparkSession) extends Rule[LogicalPlan] {
+
+  override def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperatorsUp 
{
+case Project(projectList, Filter(condition, child))
+  if containsReadBlobExpression(projectList)
+&& containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+  val projectBlobCols = extractAllBlobColumns(projectList)
+  val filterBlobCols = extractBlobColumnsFromExpression(condition)
+  val blobColumns = (projectBlobCols ++ filterBlobCols)
+.foldLeft((mutable.LinkedHashSet.empty[ExprId], 
ArrayBuffer.empty[AttributeReference])) {
+  case ((seen, acc), a) if seen.add(a.exprId) => (seen, acc += a)
+  case ((seen, acc), _) => (seen, acc)
+}._2.toSeq
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, Filter(newCondition, wrappedPlan))
+
+case Filter(condition, child)
+  if containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractBlobColumnsFromExpression(condition)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  Project(child.output, Filter(newCondition, wrappedPlan))
+
+case Project(projectList, child)
+  if containsReadBlobExpression(projectList)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractAllBlobColumns(projectList)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, wrappedPlan)
+
+case node if containsReadBlobInAnyExpression(node) =>
+  throw new AnalysisException(
+s"read_blob() may only appear in SELECT or WHERE clauses. Found in 
unsupported logical plan node: ${node.nodeName}. " +
+s"Move read_blob() to a SELECT or WHERE clause. Full plan: 
${node.simpleStringWithNodeId()}")
+  }
+
+  private def containsReadBlobInAnyExpression(plan: LogicalPlan): Boolean = {
+plan.expressions.exists(containsReadBlobInExpression)
+  }
+
+  private def wrapWithBlobReads(
+  blobColumns: Seq[AttributeReference],
+  child: LogicalPlan): (LogicalPlan, Map[ExprId, Attribute]) = {
+if (blobColumns.isEmpty) {
+  throw new IllegalStateException("read_blob() found but no valid blob 
column reference extracted.")
+}
+blobColumns.foldLeft((child: LogicalPlan, Map.empty[ExprId, Attribute])) {

Review Comment:
   This should be fine, feel free to take it up in a follow up. We need 
utilities for the analysis exceptions across spark version.



-- 
This is an automated message from the Apache Git Servi

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3101648886


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,772 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logger = LoggerFactory.getLogger(classOf[BatchedBlobReader])
+
+  /**
+   * Process a partition iterator, batching consecutive reads.
+   *
+   * This method consumes the input iterator and produces an output iterator
+   * with each row containing the original data plus a "data" column with the
+   * bytes read from the file.
+   *
+   * @param rows Iterator of input rows with struct column
+   * @param structColIdx Index of the struct column in the row
+   * @param outputSchema Schema for output rows
+   * @param accessor Type class for accessing row fields
+   * @param builder  Type class for building output rows
+   * @tparam R   Row type (Row or InternalRow)
+   * @return Iterator of output rows with data column added
+   */
+  def processPartition[R](
+  rows: Ite

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3101623218


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,772 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logger = LoggerFactory.getLogger(classOf[BatchedBlobReader])
+
+  /**
+   * Process a partition iterator, batching consecutive reads.
+   *
+   * This method consumes the input iterator and produces an output iterator
+   * with each row containing the original data plus a "data" column with the
+   * bytes read from the file.
+   *
+   * @param rows Iterator of input rows with struct column
+   * @param structColIdx Index of the struct column in the row
+   * @param outputSchema Schema for output rows
+   * @param accessor Type class for accessing row fields
+   * @param builder  Type class for building output rows
+   * @tparam R   Row type (Row or InternalRow)
+   * @return Iterator of output rows with data column added
+   */
+  def processPartition[R](
+  rows: Ite

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269337990

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.57143%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 65.80%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.95% | [13 Missing and 30 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269262299

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.57143%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 65.79%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.95% | [13 Missing and 30 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269255388

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.57143%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 65.79%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.95% | [13 Missing and 30 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269167170

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.57143%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 64.64%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.95% | [13 Missing and 30 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


yihua commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3101284113


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReader.scala:
##
@@ -0,0 +1,772 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkUtils.sparkAdapter
+import org.apache.hudi.common.schema.{HoodieSchema, HoodieSchemaType}
+import org.apache.hudi.io.SeekableDataInputStream
+import org.apache.hudi.storage.{HoodieStorage, HoodieStorageUtils, 
StorageConfiguration, StoragePath}
+
+import org.apache.spark.broadcast.Broadcast
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.{Dataset, Row}
+import org.apache.spark.sql.catalyst.InternalRow
+import org.apache.spark.sql.catalyst.expressions.{GenericRowWithSchema, 
SpecificInternalRow}
+import org.apache.spark.sql.types.{BinaryType, BlobType, DataType, 
StructField, StructType}
+import org.slf4j.LoggerFactory
+
+import java.io.InputStream
+
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Batched byte range reader that optimizes I/O by combining consecutive reads 
for out-of-line data.
+ *
+ * This reader analyzes sequences of read requests within a partition and 
merges
+ * consecutive or nearby reads into single I/O operations. This significantly 
reduces
+ * the number of seeks and reads when processing sorted data.
+ *
+ * Schema Requirement:
+ * The blob column must match the schema defined in {@link HoodieSchema.Blob}:
+ * 
+ * struct {
+ *   type: string   // "inline" or "out_of_line"
+ *   data: binary (nullable)   // inline data (null for out_of_line)
+ *   reference: struct (nullable) { // file reference (null for inline)
+ * external_path: string
+ * offset: long
+ * length: long
+ * managed: boolean
+ *   }
+ * }
+ * 
+ *
+ * Key Features:
+ * 
+ *   Batches consecutive reads from the same file
+ *   Configurable gap threshold for merging nearby reads
+ *   Lookahead buffer to identify batch opportunities
+ *   Preserves input row order in output
+ * 
+ *
+ * Usage Example:
+ * {{{
+ * import org.apache.hudi.udf.BatchedByteRangeReader
+ * import org.apache.spark.sql.functions._
+ * // Read a table with a blob column (e.g. image_data)
+ * val df = spark.read.format("hudi").load("/my_path").select("image_data", 
"record_id")
+ *
+ * // Read with batching (best when data is sorted by external_path, offset)
+ * val result = BatchedByteRangeReader.readBatched(df, structColName = 
"file_info")
+ *
+ * // Result has: image_data, record_id, data
+ * result.show()
+ * }}}
+ *
+ * Performance Tips:
+ * 
+ *   Sort input by (blob.reference.external_path, blob.reference.offset) 
for maximum batching effectiveness
+ *   Increase lookaheadSize for better batch detection (at cost of 
memory)
+ *   Tune maxGapBytes based on your data access patterns
+ * 
+ *
+ * @param storageHoodieStorage instance for file I/O
+ * @param maxGapBytesMaximum gap between ranges to consider for batching 
(default: 4KB)
+ * @param lookaheadRows  Number of rows to buffer for batch detection 
(default: 50)
+ */
+class BatchedBlobReader(
+ storage: HoodieStorage,
+ maxGapBytes: Int = 4096,
+ lookaheadRows: Int = 50) {
+
+  private val logger = LoggerFactory.getLogger(classOf[BatchedBlobReader])
+
+  /**
+   * Process a partition iterator, batching consecutive reads.
+   *
+   * This method consumes the input iterator and produces an output iterator
+   * with each row containing the original data plus a "data" column with the
+   * bytes read from the file.
+   *
+   * @param rows Iterator of input rows with struct column
+   * @param structColIdx Index of the struct column in the row
+   * @param outputSchema Schema for output rows
+   * @param accessor Type class for accessing row fields
+   * @param builder  Type class for building output rows
+   * @tparam R   Row type (Row or InternalRow)
+   * @return Iterator of output rows with data column added
+   */
+  def processPartition[R](
+  rows: Iterator[R],
+   

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


yihua commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3101285421


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/ReadBlobRule.scala:
##
@@ -0,0 +1,173 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.catalyst.expressions.{Alias, Attribute, 
AttributeReference, Expression, ExprId, NamedExpression}
+import org.apache.spark.sql.catalyst.plans.logical.{Filter, LogicalPlan, 
Project}
+import org.apache.spark.sql.catalyst.rules.Rule
+import org.apache.spark.sql.types.{DataType, StructType}
+
+import scala.collection.mutable
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Transforms queries with `read_blob()` to use lazy batched I/O.
+ *
+ * Replaces [[ReadBlobExpression]] markers with [[BatchedBlobRead]] nodes
+ * that read blob data during physical execution.
+ *
+ * Example: `SELECT id, read_blob(image_data) FROM table`
+ *
+ * @param spark SparkSession for accessing configuration
+ */
+case class ReadBlobRule(spark: SparkSession) extends Rule[LogicalPlan] {
+
+  override def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperatorsUp 
{
+case Project(projectList, Filter(condition, child))
+  if containsReadBlobExpression(projectList)
+&& containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+  val projectBlobCols = extractAllBlobColumns(projectList)
+  val filterBlobCols = extractBlobColumnsFromExpression(condition)
+  val blobColumns = (projectBlobCols ++ filterBlobCols)
+.foldLeft((mutable.LinkedHashSet.empty[ExprId], 
ArrayBuffer.empty[AttributeReference])) {
+  case ((seen, acc), a) if seen.add(a.exprId) => (seen, acc += a)
+  case ((seen, acc), _) => (seen, acc)
+}._2.toSeq
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, Filter(newCondition, wrappedPlan))
+
+case Filter(condition, child)
+  if containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractBlobColumnsFromExpression(condition)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  Project(child.output, Filter(newCondition, wrappedPlan))
+
+case Project(projectList, child)
+  if containsReadBlobExpression(projectList)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractAllBlobColumns(projectList)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, wrappedPlan)
+
+case node if containsReadBlobInAnyExpression(node) =>
+  throw new AnalysisException(
+s"read_blob() may only appear in SELECT or WHERE clauses. Found in 
unsupported logical plan node: ${node.nodeName}. " +
+s"Move read_blob() to a SELECT or WHERE clause. Full plan: 
${node.simpleStringWithNodeId()}")
+  }
+
+  private def containsReadBlobInAnyExpression(plan: LogicalPlan): Boolean = {
+plan.expressions.exists(containsReadBlobInExpression)
+  }
+
+  private def wrapWithBlobReads(
+  blobColumns: Seq[AttributeReference],
+  child: LogicalPlan): (LogicalPlan, Map[ExprId, Attribute]) = {
+if (blobColumns.isEmpty) {
+  throw new IllegalStateException("read_blob() found but no valid blob 
column reference extracted.")
+}
+blobColumns.foldLeft((child: LogicalPlan, Map.empty[ExprId, Attribute])) {

Review Comment:
   _⚠️ Potential issue_ | _🟡 Minor_
   
   **Use `AnalysisException` for invalid `read_blob()` usage.**
   
   These branches reject unsupported SQL shapes and wrong input types, but they 
currently throw `Il

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269139853

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.57143%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 64.56%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.95% | [13 Missing and 30 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269134121

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `78.57143%` with `90 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 64.53%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 83.95% | [13 Missing and 30 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.33% | [20 Missing and 21 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269128511

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 61.49%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269125108

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 61.49%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269117966

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 61.24%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269098464

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13317)
 
   * 7d152b1ec05a326cfb746aa12e420855fa8b5dd1 Azure: 
[PENDING](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13328)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269066627

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 54.81%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269059590

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 54.78%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269057015

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 54.76%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269042441

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 52.92%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269019494

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.90476%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 45.49%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4269015038

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.23501%` with `391 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 46.02%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [268 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 5.33% | [62 Missing and 9 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 10.00% | [17 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.i

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4268977917

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 53.94%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (7d152b1). Click for more details.
   > 
   > HEAD has 27 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (7d152b1) |
   >|--|--|--|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   53.94%   -14.59% 
   + Complexity2796812309-15659 
   =
 Files  2440 1429 -1011 
 Lines13445671211-63245 
 Branches  16226 8038 -8188 
   =
   - Hits  9213838412-53726 
   + Misses3505429366 -5688 
   + Partials   7264 3433 -3831 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.81% <ø> (-0.19%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `48.44% <ø> (+0.06%)` | :arrow_up: |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...scala/org/apache/spark/sql/hudi/SparkAdapter.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-client%2Fhudi-spark-client%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2FSparkAdapter.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1jbGllbnQvaHVkaS1zcGFyay1jbGllbnQvc3JjL21haW4vc2NhbGEvb3JnL2FwYWNoZS9zcGFyay9zcWwvaHVkaS9TcGFya0FkYXB0ZXIuc2NhbGE=)
 | `0.00% <ø> (-54.55%)` | :arrow_down: |
   
   ... and [1807 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analyt

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4268833227

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 44.81%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`7d152b1`](https://app.codecov.io/gh/apache/hudi/commit/7d152b1ec05a326cfb746aa12e420855fa8b5dd1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 45 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (7d152b1). Click for more details.
   > 
   > HEAD has 28 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (7d152b1) |
   >|--|--|--|
   >|spark-client-hadoop-common|1|0|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   44.81%   -23.72% 
   + Complexity27968 8499-19469 
   =
 Files  2440 1199 -1241 
 Lines13445662199-72257 
 Branches  16226 6703 -9523 
   =
   - Hits  9213827872-64266 
   + Misses3505431287 -3767 
   + Partials   7264 3040 -4224 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.81% <ø> (-0.19%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   [see 2054 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4268716087

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13317)
 
   * 7d152b1ec05a326cfb746aa12e420855fa8b5dd1 UNKNOWN
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3100842700


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/ReadBlobRule.scala:
##
@@ -0,0 +1,169 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.catalyst.expressions.{Alias, Attribute, 
AttributeReference, Expression, ExprId, NamedExpression}
+import org.apache.spark.sql.catalyst.plans.logical.{Filter, LogicalPlan, 
Project}
+import org.apache.spark.sql.catalyst.rules.Rule
+import org.apache.spark.sql.types.{DataType, StructType}
+
+import scala.collection.mutable
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Transforms queries with `read_blob()` to use lazy batched I/O.
+ *
+ * Replaces [[ReadBlobExpression]] markers with [[BatchedBlobRead]] nodes
+ * that read blob data during physical execution.
+ *
+ * Example: `SELECT id, read_blob(image_data) FROM table`
+ *
+ * @param spark SparkSession for accessing configuration
+ */
+case class ReadBlobRule(spark: SparkSession) extends Rule[LogicalPlan] {
+
+  override def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperatorsUp 
{
+case Project(projectList, Filter(condition, child))
+  if containsReadBlobExpression(projectList)
+&& containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+  val projectBlobCols = extractAllBlobColumns(projectList)
+  val filterBlobCols = extractBlobColumnsFromExpression(condition)
+  val blobColumns = (projectBlobCols ++ filterBlobCols)
+.foldLeft((mutable.LinkedHashSet.empty[ExprId], 
ArrayBuffer.empty[AttributeReference])) {
+  case ((seen, acc), a) if seen.add(a.exprId) => (seen, acc += a)
+  case ((seen, acc), _) => (seen, acc)
+}._2.toSeq
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, Filter(newCondition, wrappedPlan))
+
+case Filter(condition, child)
+  if containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractBlobColumnsFromExpression(condition)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  Project(child.output, Filter(newCondition, wrappedPlan))
+
+case Project(projectList, child)
+  if containsReadBlobExpression(projectList)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractAllBlobColumns(projectList)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, wrappedPlan)
+  }
+
+  private def wrapWithBlobReads(
+  blobColumns: Seq[AttributeReference],
+  child: LogicalPlan): (LogicalPlan, Map[ExprId, Attribute]) = {
+if (blobColumns.isEmpty) {
+  throw new IllegalStateException("read_blob() found but no valid blob 
column reference extracted.")
+}
+blobColumns.foldLeft((child: LogicalPlan, Map.empty[ExprId, Attribute])) {
+  case ((currentPlan, mapping), blobAttr) =>
+// Type compatibility check (early fail for non-struct columns)
+blobAttr.dataType match {
+  case struct: StructType if 
DataType.equalsIgnoreCaseAndNullability(struct, 
org.apache.spark.sql.types.BlobType.dataType) =>
+// Valid blob column
+  case _ =>
+throw new IllegalArgumentException(
+  s"Blob column '${blobAttr.name}' must be compatible with 
BlobType (type, data, reference struct), found: ${blobAttr.dataType}")
+}
+val blobRead = BatchedBlobRead(currentPlan, blobAttr)
+(blobRead, mapping + (blobAttr.exprId -> blobRead.dataAttr))

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-17 Thread via GitHub


the-other-tim-brown commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3100781424


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/BatchedBlobReaderStrategy.scala:
##
@@ -0,0 +1,63 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.hudi.HoodieSparkConfUtils
+import org.apache.hudi.storage.hadoop.HadoopStorageConfiguration
+
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
+import org.apache.spark.sql.execution.{SparkPlan, SparkStrategy}
+import org.apache.spark.util.SerializableConfiguration
+
+/**
+ * Spark strategy that converts [[BatchedBlobRead]] logical nodes to 
[[BatchedBlobReadExec]] physical nodes.
+ *
+ * Reads configuration for batching parameters and creates physical plan with 
appropriate settings.
+ *
+ * @param sparkSession SparkSession for accessing configuration
+ */
+case class BatchedBlobReaderStrategy(sparkSession: SparkSession) extends 
SparkStrategy {
+  def apply(plan: LogicalPlan): Seq[SparkPlan] = plan match {
+case read @ BatchedBlobRead(child, _, _) =>
+  // TODO find proper way to access these configs
+  val maxGapBytes = HoodieSparkConfUtils.getConfigValue(
+Map.empty, sparkSession.sessionState.conf,
+BatchedBlobReader.MAX_GAP_BYTES_CONF,
+String.valueOf(BatchedBlobReader.DEFAULT_MAX_GAP_BYTES)).toInt
+
+  val lookaheadSize = HoodieSparkConfUtils.getConfigValue(
+Map.empty, sparkSession.sessionState.conf,
+BatchedBlobReader.LOOKAHEAD_SIZE_CONF,
+String.valueOf(BatchedBlobReader.DEFAULT_LOOKAHEAD_SIZE)).toInt
+
+  val storageConf = new HadoopStorageConfiguration(

Review Comment:
   This change was made due to the previous comment that we must make a copy 
since it is mutable



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


yihua commented on code in PR #18098:
URL: https://github.com/apache/hudi/pull/18098#discussion_r3097968291


##
hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/blob/ReadBlobRule.scala:
##
@@ -0,0 +1,169 @@
+/*
+ * 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.hudi.blob
+
+import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.catalyst.expressions.{Alias, Attribute, 
AttributeReference, Expression, ExprId, NamedExpression}
+import org.apache.spark.sql.catalyst.plans.logical.{Filter, LogicalPlan, 
Project}
+import org.apache.spark.sql.catalyst.rules.Rule
+import org.apache.spark.sql.types.{DataType, StructType}
+
+import scala.collection.mutable
+import scala.collection.mutable.ArrayBuffer
+
+/**
+ * Transforms queries with `read_blob()` to use lazy batched I/O.
+ *
+ * Replaces [[ReadBlobExpression]] markers with [[BatchedBlobRead]] nodes
+ * that read blob data during physical execution.
+ *
+ * Example: `SELECT id, read_blob(image_data) FROM table`
+ *
+ * @param spark SparkSession for accessing configuration
+ */
+case class ReadBlobRule(spark: SparkSession) extends Rule[LogicalPlan] {
+
+  override def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperatorsUp 
{
+case Project(projectList, Filter(condition, child))
+  if containsReadBlobExpression(projectList)
+&& containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+  val projectBlobCols = extractAllBlobColumns(projectList)
+  val filterBlobCols = extractBlobColumnsFromExpression(condition)
+  val blobColumns = (projectBlobCols ++ filterBlobCols)
+.foldLeft((mutable.LinkedHashSet.empty[ExprId], 
ArrayBuffer.empty[AttributeReference])) {
+  case ((seen, acc), a) if seen.add(a.exprId) => (seen, acc += a)
+  case ((seen, acc), _) => (seen, acc)
+}._2.toSeq
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, Filter(newCondition, wrappedPlan))
+
+case Filter(condition, child)
+  if containsReadBlobInExpression(condition)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractBlobColumnsFromExpression(condition)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newCondition = replaceReadBlobExpression(condition, blobToDataAttr)
+  Project(child.output, Filter(newCondition, wrappedPlan))
+
+case Project(projectList, child)
+  if containsReadBlobExpression(projectList)
+&& !child.isInstanceOf[BatchedBlobRead] =>
+
+  val blobColumns = extractAllBlobColumns(projectList)
+  val (wrappedPlan, blobToDataAttr) = wrapWithBlobReads(blobColumns, child)
+  val newProjectList = transformNamedExpressions(projectList, 
blobToDataAttr)
+  Project(newProjectList, wrappedPlan)
+  }
+
+  private def wrapWithBlobReads(
+  blobColumns: Seq[AttributeReference],
+  child: LogicalPlan): (LogicalPlan, Map[ExprId, Attribute]) = {
+if (blobColumns.isEmpty) {
+  throw new IllegalStateException("read_blob() found but no valid blob 
column reference extracted.")
+}
+blobColumns.foldLeft((child: LogicalPlan, Map.empty[ExprId, Attribute])) {
+  case ((currentPlan, mapping), blobAttr) =>
+// Type compatibility check (early fail for non-struct columns)
+blobAttr.dataType match {
+  case struct: StructType if 
DataType.equalsIgnoreCaseAndNullability(struct, 
org.apache.spark.sql.types.BlobType.dataType) =>
+// Valid blob column
+  case _ =>
+throw new IllegalArgumentException(
+  s"Blob column '${blobAttr.name}' must be compatible with 
BlobType (type, data, reference struct), found: ${blobAttr.dataType}")
+}
+val blobRead = BatchedBlobRead(currentPlan, blobAttr)
+(blobRead, mapping + (blobAttr.exprId -> blobRead.dataAttr))
+}
+  }
+

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263973185

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13317)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263625618

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.36118%` with `84 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 70.20%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.20% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 85.32% | [14 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263623915

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.36118%` with `84 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 70.20%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.20% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 85.32% | [14 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263609121

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.36118%` with `84 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 70.12%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.20% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 85.32% | [14 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263577357

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `79.36118%` with `84 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.31%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 45.20% | [20 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 85.32% | [14 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263565494

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.14251%` with `382 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 67.39%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [259 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263557629

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * f22393b9a7294004207dfbc20949e9439c7ead24 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13315)
 
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c Azure: 
[PENDING](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13317)
 
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263551448

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.14251%` with `382 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 67.27%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [259 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263526697

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.14251%` with `382 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 62.55%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [259 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263510912

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.14251%` with `382 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 59.94%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [259 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263507994

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `6.14251%` with `382 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 59.74%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [259 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263502368

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `5.44554%` with `382 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 60.61%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [259 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263487361

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `5.23691%` with `380 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 46.54%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 0.00% | [257 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 4.10% | [62 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrategy.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReaderStrategy.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlclN0cmF0ZWd5LnNjYWxh)
 | 9.52% | [18 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 0.00% | [9 Missing :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263480451

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 53.94%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (c6429f8). Click for more details.
   > 
   > HEAD has 27 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (c6429f8) |
   >|--|--|--|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   53.94%   -14.59% 
   + Complexity2796812307-15661 
   =
 Files  2440 1429 -1011 
 Lines13445671212-63244 
 Branches  16226 8038 -8188 
   =
   - Hits  9213838414-53724 
   + Misses3505429364 -5690 
   + Partials   7264 3434 -3830 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.79% <ø> (-0.20%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `48.45% <ø> (+0.07%)` | :arrow_up: |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...scala/org/apache/spark/sql/hudi/SparkAdapter.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-client%2Fhudi-spark-client%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2FSparkAdapter.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1jbGllbnQvaHVkaS1zcGFyay1jbGllbnQvc3JjL21haW4vc2NhbGEvb3JnL2FwYWNoZS9zcGFyay9zcWwvaHVkaS9TcGFya0FkYXB0ZXIuc2NhbGE=)
 | `0.00% <ø> (-54.55%)` | :arrow_down: |
   
   ... and [1806 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analyt

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263359589

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 44.79%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`c6429f8`](https://app.codecov.io/gh/apache/hudi/commit/c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between 
BASE (35e2bbf) and HEAD (c6429f8). Click for more details.
   > 
   > HEAD has 28 uploads less than BASE
   >
   >| Flag | BASE (35e2bbf) | HEAD (c6429f8) |
   >|--|--|--|
   >|spark-client-hadoop-common|1|0|
   >|spark-scala-tests|10|0|
   >|spark-java-tests|15|0|
   >|common-and-other-modules|1|0|
   >|utilities|1|0|
   >
   
   Additional details and impacted files
   
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #18098   +/-   ##
   =
   - Coverage 68.52%   44.79%   -23.73% 
   + Complexity27968 8494-19474 
   =
 Files  2440 1199 -1241 
 Lines13445662200-72256 
 Branches  16226 6703 -9523 
   =
   - Hits  9213827864-64274 
   + Misses3505431292 -3762 
   + Partials   7264 3044 -4220 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[common-and-other-modules](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[hadoop-mr-java-client](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `44.79% <ø> (-0.20%)` | :arrow_down: |
   | 
[spark-client-hadoop-common](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-java-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[spark-scala-tests](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   | 
[utilities](https://app.codecov.io/gh/apache/hudi/pull/18098/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   [see 2054 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/hudi/pull/18098/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
:rocket: New features to boost your workflow: 
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-426378

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * f22393b9a7294004207dfbc20949e9439c7ead24 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13315)
 
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c UNKNOWN
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


hudi-bot commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263283833

   
   ## CI report:
   
   * 4994b8bc9da9022b2084dd18d187afa6e3d9fa64 UNKNOWN
   * 6e4284a37f41fbb1537771ebb156071bb26ede39 Azure: 
[SUCCESS](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13230)
 
   * f22393b9a7294004207dfbc20949e9439c7ead24 Azure: 
[PENDING](https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=13315)
 
   * c6429f8f46eb935f6386eb5d0323ddc5baa5ba0c UNKNOWN
   
   
   Bot commands
 @hudi-bot supports the following commands:
   
- `@hudi-bot run azure` re-run the last Azure build
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263058163

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `80.58968%` with `79 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.48%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`f22393b`](https://app.codecov.io/gh/apache/hudi/commit/f22393b9a7294004207dfbc20949e9439c7ead24?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 47.14% | [17 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 86.10% | [12 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263026465

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `80.58968%` with `79 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.48%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`f22393b`](https://app.codecov.io/gh/apache/hudi/commit/f22393b9a7294004207dfbc20949e9439c7ead24?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 47.14% | [17 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 86.10% | [12 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

Re: [PR] feat(blob): Read Blobs in Spark SQL [hudi]

2026-04-16 Thread via GitHub


codecov-commenter commented on PR #18098:
URL: https://github.com/apache/hudi/pull/18098#issuecomment-4263034610

   ## 
[Codecov](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `80.58968%` with `79 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.48%. Comparing base 
([`35e2bbf`](https://app.codecov.io/gh/apache/hudi/commit/35e2bbf9813f313006c773b92578db6cb93da9ca?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`f22393b`](https://app.codecov.io/gh/apache/hudi/commit/f22393b9a7294004207dfbc20949e9439c7ead24?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 43 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/hudi/pull/18098?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/spark/sql/hudi/blob/ReadBlobRule.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobRule.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYlJ1bGUuc2NhbGE=)
 | 47.14% | [17 Missing and 20 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...apache/spark/sql/hudi/blob/BatchedBlobReader.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReader.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRlci5zY2FsYQ==)
 | 86.10% | [12 Missing and 24 partials :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...pache/spark/sql/hudi/blob/ReadBlobExpression.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FReadBlobExpression.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9SZWFkQmxvYkV4cHJlc3Npb24uc2NhbGE=)
 | 66.66% | [1 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...g/apache/spark/sql/hudi/blob/BatchedBlobRead.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobRead.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWQuc2NhbGE=)
 | 88.88% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...ache/spark/sql/hudi/blob/BatchedBlobReadExec.scala](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&filepath=hudi-spark-datasource%2Fhudi-spark-common%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Fspark%2Fsql%2Fhudi%2Fblob%2FBatchedBlobReadExec.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-aHVkaS1zcGFyay1kYXRhc291cmNlL2h1ZGktc3BhcmstY29tbW9uL3NyYy9tYWluL3NjYWxhL29yZy9hcGFjaGUvc3Bhcmsvc3FsL2h1ZGkvYmxvYi9CYXRjaGVkQmxvYlJlYWRFeGVjLnNjYWxh)
 | 94.11% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/hudi/pull/18098?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...park/sql/hudi/blob/BatchedBlobReaderStrate

  1   2   3   4   >