Packages

object JdbcUtils extends Logging

Util functions for JDBC tables.

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JdbcUtils
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. def createConnectionFactory(options: JDBCOptions): () ⇒ Connection

    Returns a factory for creating connections to the given JDBC URL.

    Returns a factory for creating connections to the given JDBC URL.

    options

    - JDBC options that contains url, table and other information.

    Exceptions thrown

    IllegalArgumentException if the driver could not open a JDBC connection.

  7. def createTable(conn: Connection, df: DataFrame, options: JdbcOptionsInWrite): Unit

    Creates a table with a given schema.

  8. def dropTable(conn: Connection, table: String, options: JDBCOptions): Unit

    Drops a table from the JDBC database.

  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def getCommonJDBCType(dt: DataType): Option[JdbcType]

    Retrieve standard jdbc types.

    Retrieve standard jdbc types.

    dt

    The datatype (e.g. org.apache.spark.sql.types.StringType)

    returns

    The default JdbcType for this DataType

  14. def getCustomSchema(tableSchema: StructType, customSchema: String, nameEquality: Resolver): StructType

    Parses the user specified customSchema option value to DataFrame schema, and returns a schema that is replaced by the custom schema's dataType if column name is matched.

  15. def getInsertStatement(table: String, rddSchema: StructType, tableSchema: Option[StructType], isCaseSensitive: Boolean, dialect: JdbcDialect): String

    Returns an Insert SQL statement for inserting a row into the target table via JDBC conn.

  16. def getSchema(resultSet: ResultSet, dialect: JdbcDialect, alwaysNullable: Boolean = false): StructType

    Takes a ResultSet and returns its Catalyst schema.

    Takes a ResultSet and returns its Catalyst schema.

    alwaysNullable

    If true, all the columns are nullable.

    returns

    A StructType giving the Catalyst schema.

    Exceptions thrown

    SQLException if the schema contains an unsupported type.

  17. def getSchemaOption(conn: Connection, options: JDBCOptions): Option[StructType]

    Returns the schema if the table already exists in the JDBC database.

  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  20. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  21. def isCascadingTruncateTable(url: String): Option[Boolean]
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  24. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  25. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  26. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  27. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  28. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  29. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  31. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  32. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  34. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  35. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  36. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  38. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  39. def resultSetToRows(resultSet: ResultSet, schema: StructType): Iterator[Row]

    Convert a ResultSet into an iterator of Catalyst Rows.

  40. def savePartition(getConnection: () ⇒ Connection, table: String, iterator: Iterator[Row], rddSchema: StructType, insertStmt: String, batchSize: Int, dialect: JdbcDialect, isolationLevel: Int, options: JDBCOptions): Unit

    Saves a partition of a DataFrame to the JDBC database.

    Saves a partition of a DataFrame to the JDBC database. This is done in a single database transaction (unless isolation level is "NONE") in order to avoid repeatedly inserting data as much as possible.

    It is still theoretically possible for rows in a DataFrame to be inserted into the database more than once if a stage somehow fails after the commit occurs but before the stage can return successfully.

    This is not a closure inside saveTable() because apparently cosmetic implementation changes elsewhere might easily render such a closure non-Serializable. Instead, we explicitly close over all variables that are used.

    Note that this method records task output metrics. It assumes the method is running in a task. For now, we only records the number of rows being written because there's no good way to measure the total bytes being written. Only effective outputs are taken into account: for example, metric will not be updated if it supports transaction and transaction is rolled back, but metric will be updated even with error if it doesn't support transaction, as there're dirty outputs.

  41. def saveTable(df: DataFrame, tableSchema: Option[StructType], isCaseSensitive: Boolean, options: JdbcOptionsInWrite): Unit

    Saves the RDD to the database in a single transaction.

  42. def schemaString(df: DataFrame, url: String, createTableColumnTypes: Option[String] = None): String

    Compute the schema string for this RDD.

  43. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  44. def tableExists(conn: Connection, options: JdbcOptionsInWrite): Boolean

    Returns true if the table already exists in the JDBC database.

  45. def toString(): String
    Definition Classes
    AnyRef → Any
  46. def truncateTable(conn: Connection, options: JdbcOptionsInWrite): Unit

    Truncates a table from the JDBC database without side effects.

  47. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped