Package org.apache.spark.sql.jdbc
Class JdbcDialects
Object
org.apache.spark.sql.jdbc.JdbcDialects
:: DeveloperApi ::
Registry of dialects that apply to every new jdbc
org.apache.spark.sql.DataFrame.
If multiple matching dialects are registered then all matching ones will be tried in reverse order. A user-added dialect will thus be applied first, overwriting the defaults.
- Note:
- All new dialects are applied to new jdbc DataFrames only. Make sure to register your dialects first.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic JdbcDialectFetch the JdbcDialect class corresponding to a given database url.static JdbcDialectgetBuiltInDialect(String name) Return a built-in JDBC dialect by name.static voidregisterDialect(JdbcDialect dialect) Register a dialect for use on all new matching jdbcorg.apache.spark.sql.DataFrame.static voidregisterDialectForUrlPrefix(String urlPrefix, JdbcDialect dialect) Register an existing dialect for an additional JDBC URL prefix.static voidunregisterDialect(JdbcDialect dialect) Unregister a dialect.static voidunregisterDialectForUrlPrefix(String urlPrefix) Unregister the dialect associated with an additional JDBC URL prefix.
-
Constructor Details
-
JdbcDialects
public JdbcDialects()
-
-
Method Details
-
registerDialectForUrlPrefix
Register an existing dialect for an additional JDBC URL prefix. The registration affects dialect lookup only; Spark still passes the original URL to the JDBC driver. Registering the same prefix again replaces its previous dialect. These registrations are used only when no registered dialect handles the URL throughJdbcDialect.canHandle(java.lang.String).The prefix must start with
jdbc:and end with:. Matching is case-insensitive. For example, a MySQL-compatible wrapper can reuse the built-in MySQL dialect:JdbcDialects.registerDialectForUrlPrefix( "jdbc:aws-wrapper:mysql:", JdbcDialects.getBuiltInDialect("mysql"))- Parameters:
urlPrefix- The additional JDBC URL prefix.dialect- The existing dialect to use for URLs with the prefix.
-
unregisterDialectForUrlPrefix
Unregister the dialect associated with an additional JDBC URL prefix. Does nothing if the prefix is not registered.- Parameters:
urlPrefix- The additional JDBC URL prefix.
-
registerDialect
Register a dialect for use on all new matching jdbcorg.apache.spark.sql.DataFrame. Reading an existing dialect will cause a move-to-front.- Parameters:
dialect- The new dialect.
-
unregisterDialect
Unregister a dialect. Does nothing if the dialect is not registered.- Parameters:
dialect- The jdbc dialect.
-
getBuiltInDialect
Return a built-in JDBC dialect by name. The lookup is case-insensitive. Supported names aremysql,postgresql,db2,sqlserver,derby,oracle,teradata,h2,snowflake, anddatabricks.- Parameters:
name- The name of the built-in JDBC dialect.- Returns:
- (undocumented)
-
get
Fetch the JdbcDialect class corresponding to a given database url.- Parameters:
url- (undocumented)- Returns:
- (undocumented)
-