atoti_directquery_databricks.ConnectionConfig(Config to connect to a Databricks database.
*,
password: RedactedStr | None =None,
auto_multi_column_array_conversion: AutoMultiColumnArrayConversion | None =None,
redacted_properties: FrozenMapping[str, RedactedStr] =frozendict(),
column_clustered_queries: ‘all’ | ‘feeding’ ='feeding',
feeding_query_timeout: Duration =datetime.timedelta(seconds=3600),
lookup_mode: ‘allow’ | ‘warn’ | ‘deny’ ='warn',
max_sub_queries: Annotated[int, Field(gt=0)] =500,
query_timeout: Duration =datetime.timedelta(seconds=300),
url: str,
array_aggregation_precision: Literal[‘exact’, ‘float’] ='exact',
feeding_url: str | None =None,
time_travel: Literal[False, ‘lax’, ‘strict’] ='strict',
)
Attributes
url
The JDBC connection string.array_aggregation_precision
The precision array columns are aggregated with. Databricks aggregates arrays with itsvector_sum function, which only accepts ARRAY<FLOAT>.
Aggregating an array of any other numeric type therefore requires casting each of its elements to FLOAT first:
"exact": such an aggregation raises an error rather than silently returning inaccurate values."float": such an aggregation is performed, at the cost of accuracy: aDOUBLEelement keeps roughly 7 significant digits instead of 15, and anINTorBIGINTelement above2**24is rounded.
ARRAY<FLOAT> aggregation is widened back without losing anything.
Added in version 6.2.2.
feeding_url
When notNone, this JDBC connection string will be used instead of url for the feeding phases.
time_travel
How to use Databricks’ time travel feature. Databricks does not support time travel with views, so the options are:False: tables and views are queried on the latest state of the database."lax": tables are queried with time travel but views are queried without it."strict": tables are queried with time travel and querying a view raises an error.
auto_multi_column_array_conversion
When notNone, multi-column array conversion will be performed automatically.
column_clustered_queries
Control which queries will use clustering columns.feeding_query_timeout
Timeout for queries performed on the external database during feeding phases. The feeding phases are:- the initial load to feed
aggregate_providersandhierarchies; - the refresh operations.
lookup_mode
Whether lookup queries on the external database are allowed. Lookup can be very slow and expensive as the database may not enforce primary keys.max_sub_queries
Maximum number of sub queries performed when splitting a query into multi-step queries.password
The password to connect to the database. A property named inredacted_properties for the same purpose takes precedence
over this attribute.
If None, a password is expected to be present in url.
query_timeout
Timeout for queries performed on the external database outside feeding phases.redacted_properties
The driver properties whose values must not be logged. A property carrying or locating a secret, such as a password, the passphrase of a private key or an OAuth client secret, goes here rather than inurl.
Atoti keeps these values out of its logs, and a repr() shows each name with
<redacted> in place of its value, so the properties that are set can be seen without
the secrets they carry.
A connection string offers neither assurance.
Every other property, including the one selecting the authentication method, belongs
in url.
The accepted names are the ones this database’s own driver documents.
A driver enumerating the properties it accepts rejects a name it does not know
rather than ignoring it.
A property named here takes precedence over passwordThe driver decides what it writes to its own logs.
This attribute keeps a secret out of Atoti’s logs, not out of every log.
Added in version 6.2.2.