org.apache.spark.sql.execution.columnar.impl

BaseColumnFormatRelation

class BaseColumnFormatRelation extends JDBCAppendableRelation with PartitionedDataSourceScan with RowInsertableRelation

This class acts as a DataSource provider for column format tables provided Snappy. It uses GemFireXD as actual datastore to physically locate the tables. Column tables can be used for storing data in columnar compressed format. A example usage is given below.

val data = Seq(Seq(1, 2, 3), Seq(7, 8, 9), Seq(9, 2, 3), Seq(4, 2, 3), Seq(5, 6, 7)) val rdd = sc.parallelize(data, data.length).map(s => new Data(s(0), s(1), s(2))) val dataDF = snc.createDataFrame(rdd) snc.createTable(tableName, "column", dataDF.schema, props) dataDF.write.insertInto(tableName)

This provider scans underlying tables in parallel and is aware of the data partition. It does not introduces a shuffle if simple table query is fired. One can insert a single or multiple rows into this table as well as do a bulk insert by a Spark DataFrame. Bulk insert example is shown above.

Linear Supertypes
RowInsertableRelation, SingleRowInsertableRelation, PartitionedDataSourceScan, JDBCAppendableRelation, Product, Equals, Serializable, Serializable, Logging, IndexableRelation, DestroyRelation, InsertableRelation, PrunedFilteredScan, BaseRelation, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BaseColumnFormatRelation
  2. RowInsertableRelation
  3. SingleRowInsertableRelation
  4. PartitionedDataSourceScan
  5. JDBCAppendableRelation
  6. Product
  7. Equals
  8. Serializable
  9. Serializable
  10. Logging
  11. IndexableRelation
  12. DestroyRelation
  13. InsertableRelation
  14. PrunedFilteredScan
  15. BaseRelation
  16. AnyRef
  17. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BaseColumnFormatRelation(_table: String, _provider: String, _mode: SaveMode, _userSchema: StructType, schemaExtensions: String, ddlExtensionForShadowTable: String, _origOptions: Map[String, String], _externalStore: ExternalStore, blockMap: Map[InternalDistributedMember, BlockManagerId], partitioningColumns: Seq[String], _context: SQLContext)

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def buildScan(requiredColumns: Array[String], filters: Array[sources.Filter]): RDD[Row]

    Definition Classes
    BaseColumnFormatRelationJDBCAppendableRelation → PrunedFilteredScan
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. val columnBatchSize: Int

  10. final val connFactory: () ⇒ Connection

    Attributes
    protected
    Definition Classes
    JDBCAppendableRelation
  11. final val connProperties: ConnectionProperties

    Attributes
    protected
    Definition Classes
    JDBCAppendableRelation
  12. lazy val connectionType: ConnectionType.Value

  13. def createActualTable(tableName: String, externalStore: ExternalStore): Unit

  14. def createExternalTableForCachedBatches(tableName: String, externalStore: ExternalStore): Unit

  15. def createIndex(indexIdent: QualifiedTableName, tableIdent: QualifiedTableName, indexColumns: Map[String, Option[SortDirection]], options: Map[String, String]): Unit

    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
    JDBCAppendableRelationIndexableRelation
  16. def createTable(mode: SaveMode): Unit

  17. def createTable(externalStore: ExternalStore, tableStr: String, tableName: String, dropIfExists: Boolean): Unit

    Definition Classes
    JDBCAppendableRelation
  18. def destroy(ifExists: Boolean): Unit

    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
    BaseColumnFormatRelationJDBCAppendableRelationDestroyRelation
  19. final def dialect: JdbcDialect

    Attributes
    protected
    Definition Classes
    JDBCAppendableRelation
  20. def dropIndex(indexIdent: QualifiedTableName, tableIdent: QualifiedTableName, ifExists: Boolean): Unit

    Drops an index on this table

    Drops an index on this table

    indexIdent

    Index identifier

    tableIdent

    Table identifier

    ifExists

    Drop if exists

    Definition Classes
    JDBCAppendableRelationIndexableRelation
  21. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. def executeUpdate(sql: String): Int

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

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

    Definition Classes
    BaseColumnFormatRelationSingleRowInsertableRelation
  23. final lazy val executorConnector: () ⇒ Connection

    Definition Classes
    JDBCAppendableRelation
  24. val externalStore: ExternalStore

    Definition Classes
    JDBCAppendableRelation
  25. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def flushRowBuffer(): Unit

  27. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  28. def insert(rows: Iterator[InternalRow]): Int

    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

  29. def insert(rows: Seq[Row]): Int

    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
    BaseColumnFormatRelationRowInsertableRelation
  30. def insert(data: DataFrame, mode: SaveMode): Unit

  31. def insert(data: DataFrame, overwrite: Boolean): Unit

    Definition Classes
    BaseColumnFormatRelationJDBCAppendableRelation → InsertableRelation
  32. def insert(rdd: RDD[InternalRow], df: DataFrame, overwrite: Boolean): Unit

    Attributes
    protected
    Definition Classes
    JDBCAppendableRelation
  33. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  34. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  35. def log: Logger

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  42. def logName: String

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  47. val mode: SaveMode

    Definition Classes
    JDBCAppendableRelation
  48. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  49. val needConversion: Boolean

    Definition Classes
    JDBCAppendableRelation → BaseRelation
  50. final def notify(): Unit

    Definition Classes
    AnyRef
  51. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  52. lazy val numPartitions: Int

  53. val origOptions: Map[String, String]

    Definition Classes
    JDBCAppendableRelation
  54. def partitionColumns: Seq[String]

  55. val provider: String

    Definition Classes
    JDBCAppendableRelation
  56. val rowInsertStr: String

  57. def scanTable(tableName: String, requiredColumns: Array[String], filters: Array[sources.Filter]): RDD[Row]

  58. def schema: StructType

    Definition Classes
    JDBCAppendableRelation → BaseRelation
  59. val schemaFields: Map[String, StructField]

    Definition Classes
    JDBCAppendableRelation
  60. def sizeInBytes: Long

    Definition Classes
    JDBCAppendableRelation → BaseRelation
  61. val sqlContext: SQLContext

    Definition Classes
    JDBCAppendableRelation → BaseRelation
  62. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  63. val table: String

    Definition Classes
    JDBCAppendableRelation
  64. def toString(): String

    Definition Classes
    BaseColumnFormatRelationJDBCAppendableRelation → AnyRef → Any
  65. def truncate(): Unit

    Truncate the table represented by this relation.

    Truncate the table represented by this relation.

    Definition Classes
    BaseColumnFormatRelationJDBCAppendableRelationDestroyRelation
  66. def unhandledFilters(filters: Array[sources.Filter]): Array[sources.Filter]

    Definition Classes
    BaseRelation
  67. val userSchema: StructType

    Definition Classes
    JDBCAppendableRelation
  68. def uuidBatchAggregate(accumulated: ArrayBuffer[UUIDRegionKey], batch: CachedBatch): ArrayBuffer[UUIDRegionKey]

  69. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from RowInsertableRelation

Inherited from PartitionedDataSourceScan

Inherited from JDBCAppendableRelation

Inherited from Product

Inherited from Equals

Inherited from Serializable

Inherited from Serializable

Inherited from Logging

Inherited from IndexableRelation

Inherited from DestroyRelation

Inherited from InsertableRelation

Inherited from PrunedFilteredScan

Inherited from BaseRelation

Inherited from AnyRef

Inherited from Any

Ungrouped