Class

org.apache.spark.sql.row

JDBCMutableRelation

Related Doc: package row

Permalink

abstract case class JDBCMutableRelation(connProperties: ConnectionProperties, table: String, mode: SaveMode, userSpecifiedString: String, parts: Array[Partition], origOptions: Map[String, String], sqlContext: SQLContext) extends BaseRelation with PrunedUnsafeFilteredScan with InsertableRelation with PlanInsertableRelation with RowInsertableRelation with UpdatableRelation with DeletableRelation with DestroyRelation with IndexableRelation with AlterableRelation with NativeTableRowLevelSecurityRelation with Logging with Product with Serializable

A LogicalPlan implementation for an external row table whose contents are retrieved using a JDBC URL or DataSource.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JDBCMutableRelation
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Logging
  7. NativeTableRowLevelSecurityRelation
  8. RowLevelSecurityRelation
  9. AlterableRelation
  10. IndexableRelation
  11. DeletableRelation
  12. UpdatableRelation
  13. MutableRelation
  14. RowInsertableRelation
  15. SingleRowInsertableRelation
  16. PlanInsertableRelation
  17. DestroyRelation
  18. InsertableRelation
  19. PrunedUnsafeFilteredScan
  20. BaseRelation
  21. AnyRef
  22. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JDBCMutableRelation(connProperties: ConnectionProperties, table: String, mode: SaveMode, userSpecifiedString: String, parts: Array[Partition], origOptions: Map[String, String], sqlContext: SQLContext)

    Permalink

Abstract Value Members

  1. abstract def isPartitioned: Boolean

    Permalink
  2. abstract def numBuckets: Int

    Permalink
  3. abstract def partitionColumns: Seq[String]

    Permalink

    Get the partitioning columns for the table, if any.

    Get the partitioning columns for the table, if any.

    Definition Classes
    MutableRelation
  4. abstract def partitionExpressions(relation: LogicalRelation): Seq[Expression]

    Permalink
  5. abstract def unhandledFilters(filters: Seq[Expression]): Seq[Expression]

    Permalink

    Returns the list of Expressions that this datasource may not be able to handle.

    Returns the list of Expressions that this datasource may not be able to handle. By default, this function will return all filters, as it is always safe to double evaluate an Expression.

    Definition Classes
    PrunedUnsafeFilteredScan
  6. abstract def withoutUserSchema: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    NativeTableRowLevelSecurityRelation

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. var _relationInfoAndRegion: (RelationInfo, Option[LocalRegion])

    Permalink
    Attributes
    protected[this]
    Definition Classes
    NativeTableRowLevelSecurityRelation
  5. var _schema: StructType

    Permalink
    Attributes
    protected[this]
    Definition Classes
    NativeTableRowLevelSecurityRelation
  6. def alterTable(tableIdent: TableIdentifier, isAddColumn: Boolean, column: StructField, defaultValue: Option[String]): Unit

    Permalink

    Alter's table schema by adding or dropping a provided column.

    Alter's table schema by adding or dropping a provided column. The schema of this instance must reflect the updated one after alter.

    tableIdent

    Table identifier

    isAddColumn

    True if column is to be added else it is to be dropped

    column

    Column to be added or dropped

    Definition Classes
    JDBCMutableRelationAlterableRelation
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def buildUnsafeScan(requiredColumns: Array[String], filters: Array[Expression]): (RDD[Any], Seq[RDD[InternalRow]])

    Permalink
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final val connFactory: () ⇒ Connection

    Permalink
    Attributes
    protected
    Definition Classes
    JDBCMutableRelationNativeTableRowLevelSecurityRelation
  11. val connProperties: ConnectionProperties

    Permalink
  12. def constructSQL(indexName: String, baseTable: String, indexColumns: Map[String, Option[SortDirection]], options: Map[String, String]): String

    Permalink
    Attributes
    protected
  13. def createActualTables(conn: Connection): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    JDBCMutableRelationNativeTableRowLevelSecurityRelation
  14. def createIndex(indexIdent: TableIdentifier, tableIdent: TableIdentifier, indexColumns: Map[String, Option[SortDirection]], options: Map[String, String]): Unit

    Permalink

    Create an index on a table.

    Create an index on a table.

    indexIdent

    Index Identifier which goes in the catalog

    tableIdent

    Table identifier on which the index is created.

    indexColumns

    Columns on which the index has to be created with the direction of sorting. Direction can be specified as None.

    options

    Options for indexes. For e.g. column table index - ("COLOCATE_WITH"->"CUSTOMER"). row table index - ("INDEX_TYPE"->"GLOBAL HASH") or ("INDEX_TYPE"->"UNIQUE")

    Definition Classes
    JDBCMutableRelationIndexableRelation
  15. def createTable(mode: SaveMode): Unit

    Permalink
  16. def delete(filterExpr: String): Int

    Permalink

    Delete a set of row matching given criteria.

    Delete a set of row matching given criteria.

    filterExpr

    SQL WHERE criteria to select rows that will be deleted

    returns

    number of rows deleted

    Definition Classes
    JDBCMutableRelationDeletableRelation
  17. def destroy(ifExists: Boolean): Unit

    Permalink

    Destroy and cleanup this relation.

    Destroy and cleanup this relation. It may include, but not limited to, dropping the external table that this relation represents.

    Definition Classes
    JDBCMutableRelationDestroyRelation
  18. final def dialect: JdbcDialect

    Permalink
    Attributes
    protected
    Definition Classes
    JDBCMutableRelationNativeTableRowLevelSecurityRelation
  19. val driver: String

    Permalink
  20. def dropIndex(indexIdent: TableIdentifier, tableIdent: TableIdentifier, ifExists: Boolean): Unit

    Permalink

    Drops an index on this table

    Drops an index on this table

    indexIdent

    Index identifier

    tableIdent

    Table identifier

    ifExists

    Drop if exists

    Definition Classes
    JDBCMutableRelationIndexableRelation
  21. def enableOrDisableRowLevelSecurity(tableIdent: TableIdentifier, enableRowLevelSecurity: Boolean): Unit

    Permalink
  22. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. def executeUpdate(sql: String, defaultSchema: String): Int

    Permalink

    Execute a DML SQL and return the number of rows affected.

    Execute a DML SQL and return the number of rows affected.

    Definition Classes
    JDBCMutableRelationSingleRowInsertableRelation
  24. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  26. def getDeletePlan(relation: LogicalRelation, child: SparkPlan, keyColumns: Seq[Attribute]): SparkPlan

    Permalink

    Get a spark plan to delete rows the relation.

    Get a spark plan to delete rows the relation. The result of SparkPlan execution should be a count of number of updated rows.

    Definition Classes
    JDBCMutableRelationMutableRelation
  27. def getInsertPlan(relation: LogicalRelation, child: SparkPlan): SparkPlan

    Permalink

    Get a spark plan for insert.

    Get a spark plan for insert. The result of SparkPlan execution should be a count of number of inserted rows.

    Definition Classes
    JDBCMutableRelationPlanInsertableRelation
  28. def getKeyColumns: Seq[String]

    Permalink

    Get the "key" columns for the table that need to be projected out by UPDATE and DELETE operations for affecting the selected rows.

    Get the "key" columns for the table that need to be projected out by UPDATE and DELETE operations for affecting the selected rows.

    Definition Classes
    JDBCMutableRelationMutableRelation
  29. def getPrimaryKeyColumns: Seq[String]

    Permalink

    Get primary keys of the row table

    Get primary keys of the row table

    Definition Classes
    JDBCMutableRelationMutableRelation
  30. def getUpdatePlan(relation: LogicalRelation, child: SparkPlan, updateColumns: Seq[Attribute], updateExpressions: Seq[Expression], keyColumns: Seq[Attribute]): SparkPlan

    Permalink

    Get a spark plan to update rows in the relation.

    Get a spark plan to update rows in the relation. The result of SparkPlan execution should be a count of number of updated rows.

    Definition Classes
    JDBCMutableRelationMutableRelation
  31. def initializeLogIfNecessary(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  32. def insert(rows: Seq[Row]): Int

    Permalink

    Insert a sequence of rows into the table represented by this relation.

    Insert a sequence of rows into the table represented by this relation.

    rows

    the rows to be inserted

    returns

    number of rows inserted

    Definition Classes
    JDBCMutableRelationRowInsertableRelation
  33. def insert(data: DataFrame, overwrite: Boolean): Unit

    Permalink
    Definition Classes
    JDBCMutableRelation → InsertableRelation
  34. final def isDebugEnabled: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  35. final def isInfoEnabled: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  36. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  37. def isRowLevelSecurityEnabled: Boolean

    Permalink
  38. final def isRowTable: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    JDBCMutableRelationNativeTableRowLevelSecurityRelation
  39. final def isTraceEnabled: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  40. final var levelFlags: Int

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  41. def log: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  42. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  43. def logDebug(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  44. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  45. def logError(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  46. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  47. def logInfo(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  48. def logName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  49. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  50. def logTrace(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  51. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  52. def logWarning(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  53. final var log_: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  54. val mode: SaveMode

    Permalink
  55. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  56. val needConversion: Boolean

    Permalink
    Definition Classes
    JDBCMutableRelation → BaseRelation
  57. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  58. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  59. val origOptions: Map[String, String]

    Permalink
  60. val parts: Array[Partition]

    Permalink
  61. def refreshTableSchema(invalidateCached: Boolean, fetchFromStore: Boolean): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    NativeTableRowLevelSecurityRelation
  62. lazy val region: LocalRegion

    Permalink
  63. def relationInfo: RelationInfo

    Permalink
  64. def relationInfoAndRegion: (RelationInfo, Option[LocalRegion])

    Permalink
    Attributes
    protected
    Definition Classes
    NativeTableRowLevelSecurityRelation
  65. def resetLogger(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  66. final def resolvedName: String

    Permalink
  67. final lazy val rowInsertStr: String

    Permalink
  68. def schema: StructType

    Permalink
    Definition Classes
    NativeTableRowLevelSecurityRelation → BaseRelation
  69. final lazy val schemaFields: Map[String, StructField]

    Permalink
  70. val schemaName: String

    Permalink
  71. def sizeInBytes: Long

    Permalink
    Definition Classes
    JDBCMutableRelation → BaseRelation
  72. val sqlContext: SQLContext

    Permalink
    Definition Classes
    JDBCMutableRelationNativeTableRowLevelSecurityRelation → BaseRelation
  73. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  74. val table: String

    Permalink

    Name of this mutable table as stored in catalog.

    Name of this mutable table as stored in catalog.

    Definition Classes
    JDBCMutableRelationNativeTableRowLevelSecurityRelationMutableRelation
  75. val tableName: String

    Permalink
  76. def truncate(): Unit

    Permalink

    Truncate the table represented by this relation.

    Truncate the table represented by this relation.

    Definition Classes
    JDBCMutableRelationDestroyRelation
  77. def unhandledFilters(filters: Array[Filter]): Array[Filter]

    Permalink
    Definition Classes
    BaseRelation
  78. def update(filterExpr: String, newColumnValues: Row, updateColumns: Seq[String]): Int

    Permalink

    Update a set of rows matching given criteria.

    Update a set of rows matching given criteria.

    filterExpr

    SQL WHERE criteria to select rows that will be updated

    newColumnValues

    updated values for the columns being changed; must match updateColumns

    updateColumns

    the columns to be updated; must match updatedColumns

    returns

    number of rows affected

    Definition Classes
    JDBCMutableRelationUpdatableRelation
  79. val userSpecifiedString: String

    Permalink
  80. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  81. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  82. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  83. def withKeyColumns(relation: LogicalRelation, keyColumns: Seq[String]): LogicalRelation

    Permalink

    If required inject the key columns in the original relation.

    If required inject the key columns in the original relation.

    Definition Classes
    MutableRelation

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Logging

Inherited from RowLevelSecurityRelation

Inherited from AlterableRelation

Inherited from IndexableRelation

Inherited from DeletableRelation

Inherited from UpdatableRelation

Inherited from MutableRelation

Inherited from RowInsertableRelation

Inherited from PlanInsertableRelation

Inherited from DestroyRelation

Inherited from InsertableRelation

Inherited from PrunedUnsafeFilteredScan

Inherited from BaseRelation

Inherited from AnyRef

Inherited from Any

Ungrouped