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. def alterTable(conn: Connection, tableName: String, changes: Seq[TableChange], options: JDBCOptions): Unit

    Update a table from the JDBC database.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. 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.

  8. def createNamespace(conn: Connection, options: JDBCOptions, namespace: String, comment: String): Unit

    Creates a namespace.

  9. def createNamespaceComment(conn: Connection, options: JDBCOptions, namespace: String, comment: String): Unit
  10. def createTable(conn: Connection, tableName: String, schema: StructType, caseSensitive: Boolean, options: JdbcOptionsInWrite): Unit

    Creates a table with a given schema.

  11. def dropNamespace(conn: Connection, options: JDBCOptions, namespace: String): Unit

    Drops a namespace from the JDBC database.

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

    Drops a table from the JDBC database.

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. 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

  18. 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.

  19. 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.

  20. def getJdbcType(dt: DataType, dialect: JdbcDialect): JdbcType
  21. 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.

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

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

  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  25. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  26. def isCascadingTruncateTable(url: String): Option[Boolean]
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  29. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  30. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  31. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  32. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  34. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  35. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  36. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  37. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  41. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  44. def removeNamespaceComment(conn: Connection, options: JDBCOptions, namespace: String): Unit
  45. def renameTable(conn: Connection, oldTable: String, newTable: String, options: JDBCOptions): Unit

    Rename a table from the JDBC database.

  46. def resultSetToRows(resultSet: ResultSet, schema: StructType): Iterator[Row]

    Convert a ResultSet into an iterator of Catalyst Rows.

  47. 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.

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

    Saves the RDD to the database in a single transaction.

  49. def schemaString(schema: StructType, caseSensitive: Boolean, url: String, createTableColumnTypes: Option[String] = None): String

    Compute the schema string for this RDD.

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

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

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

    Truncates a table from the JDBC database without side effects.

  54. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped