class InMemoryCatalog extends ExternalCatalog
An in-memory (ephemeral) implementation of the system catalog.
This is a dummy implementation that does not require setting up external systems. It is intended for testing or exploration purposes only and should not be used in production.
All public methods should be synchronized for thread-safety.
- Alphabetic
- By Inheritance
- InMemoryCatalog
- ExternalCatalog
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new InMemoryCatalog(conf: SparkConf = new SparkConf, hadoopConfig: Configuration = new Configuration)
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
- def alterDatabase(dbDefinition: CatalogDatabase): Unit
Alter a database whose name matches the one specified in
dbDefinition, assuming the database exists.Alter a database whose name matches the one specified in
dbDefinition, assuming the database exists.Note: If the underlying implementation does not support altering a certain field, this becomes a no-op.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def alterFunction(db: String, func: CatalogFunction): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def alterPartitions(db: String, table: String, alterParts: Seq[CatalogTablePartition]): Unit
Alter one or many table partitions whose specs that match those specified in
parts, assuming the partitions exist.Alter one or many table partitions whose specs that match those specified in
parts, assuming the partitions exist.Note: If the underlying implementation does not support altering a certain field, this becomes a no-op.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def alterTable(tableDefinition: CatalogTable): Unit
Alter a table whose database and name match the ones specified in
tableDefinition, assuming the table exists.Alter a table whose database and name match the ones specified in
tableDefinition, assuming the table exists. Note that, even though we can specify database intableDefinition, it's used to identify the table, not to alter the table's database, which is not allowed.Note: If the underlying implementation does not support altering a certain field, this becomes a no-op.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def alterTableDataSchema(db: String, table: String, newDataSchema: StructType): Unit
Alter the data schema of a table identified by the provided database and table name.
Alter the data schema of a table identified by the provided database and table name. The new data schema should not have conflict column names with the existing partition columns, and should still contain all the existing data columns.
- db
Database that table to alter schema for exists in
- table
Name of table to alter schema for
- newDataSchema
Updated data schema to be used for the table.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def alterTableStats(db: String, table: String, stats: Option[CatalogStatistics]): Unit
Alter the statistics of a table.
Alter the statistics of a table. If
statsis None, then remove all existing statistics.- Definition Classes
- InMemoryCatalog → ExternalCatalog
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def createDatabase(dbDefinition: CatalogDatabase, ignoreIfExists: Boolean): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def createFunction(db: String, func: CatalogFunction): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def createPartitions(db: String, table: String, newParts: Seq[CatalogTablePartition], ignoreIfExists: Boolean): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def createTable(tableDefinition: CatalogTable, ignoreIfExists: Boolean): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def databaseExists(db: String): Boolean
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def dropDatabase(db: String, ignoreIfNotExists: Boolean, cascade: Boolean): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def dropFunction(db: String, funcName: String): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def dropPartitions(db: String, table: String, parts: Seq[TablePartitionSpec], ignoreIfNotExists: Boolean, purge: Boolean, retainData: Boolean): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def dropTable(db: String, table: String, ignoreIfNotExists: Boolean, purge: Boolean): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def functionExists(db: String, funcName: String): Boolean
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getDatabase(db: String): CatalogDatabase
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def getFunction(db: String, funcName: String): CatalogFunction
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def getPartition(db: String, table: String, partSpec: TablePartitionSpec): CatalogTablePartition
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def getPartitionOption(db: String, table: String, partSpec: TablePartitionSpec): Option[CatalogTablePartition]
Returns the specified partition or None if it does not exist.
Returns the specified partition or None if it does not exist.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def getTable(db: String, table: String): CatalogTable
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def getTablesByName(db: String, tables: Seq[String]): Seq[CatalogTable]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def listDatabases(pattern: String): Seq[String]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listDatabases(): Seq[String]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listFunctions(db: String, pattern: String): Seq[String]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listPartitionNames(db: String, table: String, partSpec: Option[TablePartitionSpec] = None): Seq[String]
List the names of all partitions that belong to the specified table, assuming it exists.
List the names of all partitions that belong to the specified table, assuming it exists.
For a table with partition columns p1, p2, p3, each partition name is formatted as
p1=v1/p2=v2/p3=v3. Each partition column name and value is an escaped path name, and can be decoded with theExternalCatalogUtils.unescapePathNamemethod.The returned sequence is sorted as strings.
A partial partition spec may optionally be provided to filter the partitions returned, as described in the
listPartitionsmethod.- db
database name
- table
table name
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listPartitions(db: String, table: String, partialSpec: Option[TablePartitionSpec] = None): Seq[CatalogTablePartition]
List the metadata of all partitions that belong to the specified table, assuming it exists.
List the metadata of all partitions that belong to the specified table, assuming it exists.
A partial partition spec may optionally be provided to filter the partitions returned. For instance, if there exist partitions (a='1', b='2'), (a='1', b='3') and (a='2', b='4'), then a partial spec of (a='1') will return the first two only.
- db
database name
- table
table name
- partialSpec
partition spec
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listPartitionsByFilter(db: String, table: String, predicates: Seq[Expression], defaultTimeZoneId: String): Seq[CatalogTablePartition]
List the metadata of partitions that belong to the specified table, assuming it exists, that satisfy the given partition-pruning predicate expressions.
List the metadata of partitions that belong to the specified table, assuming it exists, that satisfy the given partition-pruning predicate expressions.
- db
database name
- table
table name
- predicates
partition-pruning predicates
- defaultTimeZoneId
default timezone id to parse partition values of TimestampType
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listTables(db: String, pattern: String): Seq[String]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listTables(db: String): Seq[String]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def listViews(db: String, pattern: String): Seq[String]
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def loadDynamicPartitions(db: String, table: String, loadPath: String, partition: TablePartitionSpec, replace: Boolean, numDP: Int): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def loadPartition(db: String, table: String, loadPath: String, partition: TablePartitionSpec, isOverwrite: Boolean, inheritTableSpecs: Boolean, isSrcLocal: Boolean): Unit
Loads data into a partition.
Loads data into a partition.
- isSrcLocal
Whether the source data is local, as defined by the "LOAD DATA LOCAL" HiveQL command.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def loadTable(db: String, table: String, loadPath: String, isOverwrite: Boolean, isSrcLocal: Boolean): Unit
Loads data into a table.
Loads data into a table.
- isSrcLocal
Whether the source data is local, as defined by the "LOAD DATA LOCAL" HiveQL command.
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- 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 renameFunction(db: String, oldName: String, newName: String): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def renamePartitions(db: String, table: String, fromSpecs: Seq[TablePartitionSpec], toSpecs: Seq[TablePartitionSpec]): Unit
Override the specs of one or many existing table partitions, assuming they exist.
Override the specs of one or many existing table partitions, assuming they exist. This assumes index i of
specscorresponds to index i ofnewSpecs.- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def renameTable(db: String, oldName: String, newName: String): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def requireDbExists(db: String): Unit
- Attributes
- protected
- Definition Classes
- ExternalCatalog
- def requireFunctionExists(db: String, funcName: String): Unit
- Attributes
- protected
- Definition Classes
- ExternalCatalog
- def requireFunctionNotExists(db: String, funcName: String): Unit
- Attributes
- protected
- Definition Classes
- ExternalCatalog
- def requireTableExists(db: String, table: String): Unit
- Attributes
- protected
- Definition Classes
- ExternalCatalog
- def setCurrentDatabase(db: String): Unit
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tableExists(db: String, table: String): Boolean
- Definition Classes
- InMemoryCatalog → ExternalCatalog
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()