Teradata connection#
- class onetl.connection.db_connection.teradata.connection.Teradata(*, spark: SparkSession, user: str, password: SecretStr, host: Host, port: int = 1025, database: str | None = None, extra: TeradataExtra = TeradataExtra(CHARSET='UTF8', COLUMN_NAME='ON', FLATTEN='ON', MAYBENULL='ON', STRICT_NAMES='OFF'))#
-
Based on package
com.teradata.jdbc:terajdbc:17.20.00.15
(official Teradata JDBC driver).Warning
Before using this connector please take into account Prerequisites
- Parameters:
- hoststr
Host of Teradata database. For example:
test.teradata.domain.com
or193.168.1.12
- portint, default:
1025
Port of Teradata database
- userstr
User, which have proper access to the database. For example:
some_user
- passwordstr
Password for database connection
- databasestr, optional
Database in RDBMS, NOT schema.
See this page for more details
- spark
pyspark.sql.SparkSession
Spark session.
- extradict, default:
None
Specifies one or more extra parameters which should be appended to a connection string.
For example:
{"TMODE": "TERA", "MAYBENULL": "ON", "CHARSET": "UTF8", "LOGMECH":"LDAP"}
See Teradata JDBC driver documentation for more details
Note
By default, these options are added to extra:
CHARSET = "UTF8"
COLUMN_NAME = "ON"
- allow reading column title from a tableFLATTEN = "ON"
- improves error messagesMAYBENULL = "ON"
STRICT_NAMES = "OFF"
- ignore Spark options passed to JDBC URL
It is possible to override default values, for example set
extra={"FLATTEN": "OFF"}
Examples
Teradata connection with LDAP auth:
from onetl.connection import Teradata from pyspark.sql import SparkSession # Create Spark session with Teradata driver loaded maven_packages = Teradata.get_packages() spark = ( SparkSession.builder.appName("spark-app-name") .config("spark.jars.packages", ",".join(maven_packages)) .getOrCreate() ) # Create connection teradata = Teradata( host="database.host.or.ip", user="user", password="*****", extra={ "TMODE": "TERA", # "TERA" or "ANSI" "LOGMECH": "LDAP", "LOG": "TIMING", # increase log level }, spark=spark, )
- check()#
-
If not, an exception will be raised.
- Returns:
- Connection itself
- Raises:
- RuntimeError
If the connection is not available
Examples
connection.check()
- classmethod get_packages() list[str] #
Get package names to be downloaded by Spark.
Examples
from onetl.connection import Teradata Teradata.get_packages()