object DataSkippingUtils extends Logging
- Alphabetic
- By Inheritance
- DataSkippingUtils
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getFileFilter(fileIndex: FileIndex, tid: String, metadataStoreManager: MetadataStoreManager, sparkSession: SparkSession, evaluate: Boolean = false): DataSkippingFileFilter
Gets the DataSkippingFileFilter relevant for this tid, FileIndex and backend
Gets the DataSkippingFileFilter relevant for this tid, FileIndex and backend
- fileIndex
the fileIndex for which we create a DataSkippingFileFilter
- tid
the table identifier
- metadataStoreManager
the backend to be used to create the DataSkippingFileFilter
- sparkSession
the spark session
- evaluate
whether we create an evaluate DataSkippingFileFilter which only report skipping stats
-
def
getFileIndex(sparkSession: SparkSession, options: CaseInsensitiveStringMap, paths: Seq[String], userSpecifiedSchema: Option[StructType]): PartitioningAwareFileIndex
This function contains the same logic for creating the FileIndex as appears in PartitioningAwareFileIndex class and replaces the InMemoryFileIndex with InMemoryDataSkippingIndex.
This function contains the same logic for creating the FileIndex as appears in PartitioningAwareFileIndex class and replaces the InMemoryFileIndex with InMemoryDataSkippingIndex. The reason for keeping the same logic is that the original variable is lazy so we can rely on not having the FileIndex created until this function is called.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
injectRuleExtendedOperatorOptimizationRule(sparkSession: SparkSession, rule: Rule[LogicalPlan]): Unit
Inject a rule as part extendedOperatorOptimizationRule
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
recreateFileStatusCache(spark: SparkSession, inMemoryFileIndex: PartitioningAwareFileIndex): FileStatusCache
Gets an inMemoryFileIndex and reconstructs the FileStatusCache The way the FileStatusCache is implemented in spark makes it to not be shareable between instances meaning that calling FileStatusCache.getOrCreate(spark) will result in an empty cache and thus will require a new listing when the FileIndex is being replaced with a data skipping FileIndex.
Gets an inMemoryFileIndex and reconstructs the FileStatusCache The way the FileStatusCache is implemented in spark makes it to not be shareable between instances meaning that calling FileStatusCache.getOrCreate(spark) will result in an empty cache and thus will require a new listing when the FileIndex is being replaced with a data skipping FileIndex. To avoid this code reconstructs the cache using the existing FileIndex and then it can be used by the new FileIndex. Note: the reason we can't get the FileStatusCache of the original inMemoryFileIndex is because it is handed over to it in the constructor and is not defined there as var/val so we can't access it once we have an instance of inMemoryFileIndex
- spark
a spark session - used to get a new cache
- inMemoryFileIndex
the inMemoryFileIndex to construct the cache from
- returns
a FileStatusCache populated with the root paths from the given inMemoryFileIndex
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )