Možnosti zápisu bez serveru pro sbalené konektory

Při zápisu do externího zdroje dat pomocí konektoru v bezserverovém výpočetním prostředí se podporuje jenom podmnožina možností konektoru. Následující tabulky uvádějí podporované možnosti pro jednotlivé konektory.

Pokyny k nastavení a příklady najdete v tématu Zdroje dat Sparku.

PostgreSQL

Při zápisu do PostgreSQL na bezserverové výpočetní prostředky se podporují následující možnosti.

Option Description
host Název hostitele serveru PostgreSQL.
port Číslo portu. Výchozí hodnota: 5432.
database Název databáze, ke které se chcete připojit.
connectTimeout Maximální doba v sekundách čekání na připojení 0 zakáže časový limit.
user Uživatelské jméno databáze.
password Heslo databáze.
dbtable Název cílové tabulky Podporuje názvy kvalifikované pro schéma (například myschema.mytable).
batchsize Počet řádků, které se mají vložit na dávku Výchozí hodnota: 1000.
numPartitions Počet oddílů Sparku pro paralelní operace zápisu
queryTimeout Maximální doba v sekundách čekání na dokončení dotazu 0 zakáže časový limit.
isolationLevel Úroveň izolace transakcí: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READnebo SERIALIZABLE. Výchozí hodnota: READ_UNCOMMITTED.
truncate Pokud true, zkracuje cílovou tabulku v overwrite režimu namísto vyřazení a opětovného vytvoření. Výchozí hodnota: false.
cascadeTruncate Pokud truekaskáduje zkrácení tabulek s odkazy na cizí klíč na cílovou tabulku. Výchozí hodnota: false.

SQL Server

Při zápisu do SQL Server na bezserverové výpočetní prostředí se podporují následující možnosti.

Option Description
host Název hostitele instance SQL Server.
port Číslo portu. Výchozí hodnota: 1433.
database Název databáze, ke které se chcete připojit.
connectionTimeout Maximální doba v sekundách čekání na připojení 0 zakáže časový limit.
encrypt Pokud truese šifrují všechna data odesílaná mezi klientem a serverem pomocí protokolu TLS. Výchozí hodnota: false.
trustServerCertificate Pokud truedůvěřuje certifikátu TLS serveru bez ověření. Pouze pro vývojová prostředí. Výchozí hodnota: false.
debug Pokud truepovolíte podrobné protokolování ladění pro konektor. Výchozí hodnota: false.
user Uživatelské jméno databáze.
password Heslo databáze.
authentication Typ ověřování. Podporované hodnoty: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI.
dbtable Název cílové tabulky Podporuje názvy kvalifikované pro schéma (například myschema.mytable).
batchsize Počet řádků, které se mají vložit na dávku Výchozí hodnota: 1000.
numPartitions Počet oddílů Sparku pro paralelní operace zápisu
queryTimeout Maximální doba v sekundách čekání na dokončení dotazu 0 zakáže časový limit.
isolationLevel Úroveň izolace transakcí: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READnebo SERIALIZABLE. Výchozí hodnota: READ_UNCOMMITTED.
truncate Pokud true, zkracuje cílovou tabulku v overwrite režimu namísto vyřazení a opětovného vytvoření. Výchozí hodnota: false.

MySQL

Při zápisu do MySQL na bezserverové výpočetní prostředí se podporují následující možnosti.

Option Description
host Název hostitele serveru MySQL.
port Číslo portu. Výchozí hodnota: 3306.
database Název databáze, ke které se chcete připojit.
connectionTimeout Maximální doba v sekundách čekání na připojení 0 zakáže časový limit.
requireSSL Pokud truevyžaduje připojení šifrované protokolem SSL k serveru. Výchozí hodnota: false.
useSSL Pokud true, povolí protokol SSL pro připojení, pokud je server podporuje. Výchozí hodnota: false.
user Uživatelské jméno databáze.
password Heslo databáze.
dbtable Název cílové tabulky Podporuje názvy kvalifikované pro schéma (například myschema.mytable).
batchsize Počet řádků, které se mají vložit na dávku Výchozí hodnota: 1000.
numPartitions Počet oddílů Sparku pro paralelní operace zápisu
queryTimeout Maximální doba v sekundách čekání na dokončení dotazu 0 zakáže časový limit.
isolationLevel Úroveň izolace transakcí: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READnebo SERIALIZABLE. Výchozí hodnota: READ_UNCOMMITTED.
truncate Pokud true, zkracuje cílovou tabulku v overwrite režimu namísto vyřazení a opětovného vytvoření. Výchozí hodnota: false.
cascadeTruncate Pokud truekaskáduje zkrácení tabulek s odkazy na cizí klíč na cílovou tabulku. Výchozí hodnota: false.

Snowflake

Následující části obsahují seznam podporovaných možností konektoru Snowflake uspořádaných podle funkce.

Připojení

Následující možnosti nakonfigurují připojení k chování snowflake a řízení relace.

Option Description
host Název hostitele účtu Snowflake (například <account>.snowflakecomputing.com).
port Číslo portu. Výchozí hodnota: 443.
sfaccount Identifikátor účtu Snowflake.
sfauthenticator Metoda ověřování: snowflake (heslo), oauth (token) nebo snowflake_jwt (pár klíčů). Výchozí hodnota: snowflake.
networktimeout Časový limit v sekundách pro síťové operace
sftimezone Časové pásmo pro operace časového razítka (například America/New_York).
client_session_keep_alive Pokud true, odesílá keepalive signály, aby se zabránilo vypršení časového limitu relace během dlouhotrvajících operací. Výchozí hodnota: false.
ocspfailopen Pokud true, umožňuje připojení pokračovat, když ověření certifikátu OCSP není k dispozici (režim neúspěšného otevření). Výchozí hodnota: true.

Autentizace

Následující možnosti poskytují přihlašovací údaje pro metodu ověřování nakonfigurovanou v sfauthenticator. Pracovní přihlašovací údaje (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) se vyžadují, když fáze Snowflake zapisují data prostřednictvím cloudového úložiště.

Option Description
sfuser Snowflake username.
sfpassword Snowflake password. Používá se, pokud sfauthenticator je snowflake.
sfToken Přístupový token OAuth Používá se, pokud sfauthenticator je oauth.
pem_private_key Privátní klíč ve formátu PEM pro ověřování párů klíčů Používá se, pokud sfauthenticator je snowflake_jwt.
temporary_aws_access_key_id Dočasné ID přístupového klíče AWS pro přípravu S3 Přednost před awsaccesskey použitím krátkodobých přihlašovacích údajů.
temporary_aws_secret_access_key Dočasný přístupový klíč tajného kódu AWS pro přípravu S3
temporary_aws_session_token Dočasný token relace AWS pro přípravu S3
temporary_azure_sas_token Dočasný token SAS Azure pro přípravu Azure Blob Storage.
awsaccesskey Přístupový klíč AWS pro přípravu S3
awssecretkey Tajný klíč AWS pro přípravu S3

Cíl

Následující možnosti určují databázi Snowflake, schéma, sklad a tabulku, do které se má zapisovat.

Option Description
sfdatabase Název databáze Snowflake.
sfschema Název schématu Snowflake.
sfwarehouse Virtuální sklad Snowflake používaný ke spouštění dotazů.
sfrole Snowflake role pro relaci.
dbtable Název cílové tabulky

chování při zápisu

Následující možnosti určují, jak se data zapisuje do cílové tabulky Snowflake.

Option Description
column_mapping Jak se sloupce datového rámce shodují se sloupci tabulky Snowflake: name (podle názvu sloupce) nebo position (podle pořadí sloupců). Výchozí hodnota: name.
column_mismatch_behavior Chování, když sloupce datového rámce a tabulky nezarovnají: error nebo ignore. Výchozí hodnota: error.
truncate_table Pokud truepřed zápisem zkrátíte cílovou tabulku. Výchozí hodnota: false.
usestagingtable Pokud truepřed prohozením do cíle připraví data v dočasné tabulce, povolí atomické zápisy. Výchozí hodnota: true.
internal_execute_query_in_sync_mode Pokud true, spustí Snowflake dotazy synchronně. Výchozí hodnota: false.
autopushdown Pokud true, odešle operace filtrování a agregace dolů do Snowflake ke spuštění. Výchozí hodnota: true.

Redshift

Následující části obsahují seznam podporovaných možností konektoru Redshift uspořádané podle funkce.

Připojení

Následující možnosti nakonfigurují připojení ke clusteru Redshift.

Option Description
host Název hostitele koncového bodu clusteru Redshift
port Číslo portu. Výchozí hodnota: 5439.
database Název databáze Redshift.
connectionTimeout Maximální doba v sekundách čekání na připojení

Autentizace

Následující možnosti nakonfigurují přihlašovací údaje pro Redshift a pracovní umístění S3, které Redshift používá během operací zápisu.

Option Description
user Redshift uživatelské jméno.
password Heslo Redshiftu.
aws_iam_role ARN role IAM, kterou Redshift používá pro přístup k S3 pro přípravná data.
temporary_aws_access_key_id Dočasné ID přístupového klíče AWS pro přípravu S3 Preferuje se u dlouhodobých přihlašovacích údajů.
temporary_aws_secret_access_key Dočasný přístupový klíč tajného kódu AWS pro přípravu S3
temporary_aws_session_token Dočasný token relace AWS pro přípravu S3
forward_spark_s3_credentials Pokud truepřepošli přihlašovací údaje Sparku S3 do Redshiftu pro přípravu. Používejte pouze v případech, kdy Spark a Redshift sdílejí stejné přihlašovací údaje S3. Výchozí hodnota: false.

chování při zápisu

Následující možnosti určují, jak se data zapisuje do cílové tabulky Redshift, včetně distribuce, klíčů řazení a přípravného formátu.

Option Description
dbtable Název cílové tabulky Podporuje názvy kvalifikované pro schéma (například myschema.mytable).
batchsize Počet řádků na dávkové vložení Výchozí hodnota: 1000.
numPartitions Počet oddílů Sparku pro paralelní operace zápisu
queryTimeout Maximální doba v sekundách čekání na dokončení dotazu
isolationLevel Úroveň izolace transakcí: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READnebo SERIALIZABLE. Výchozí hodnota: READ_UNCOMMITTED.
diststyle Styl distribuce redshiftu: EVEN, KEYnebo ALL.
distkey Sloupec, který se má použít jako distribuční klíč. Vyžaduje se, pokud diststyle je KEY.
sortkeyspec Specifikace klíče řazení pro tabulku Redshift (například SORTKEY(col1, col2)).
csvnullstring Řetězec napsaný v přípravných souborech CSV představující NULL hodnoty Výchozí hodnota: prázdný řetězec.
tempformat Přípravný formát souboru: CSV nebo AVRO. Výchozí hodnota: CSV.
truncate Pokud true, zkracuje cílovou tabulku v overwrite režimu namísto vyřazení a opětovného vytvoření. Výchozí hodnota: false.

Zápis do PostgreSQL na bezserverové výpočetní prostředí

Tento příklad používá append režim a načítá přihlašovací údaje z oboru tajných kódů Databricks.

df.write \
  .format("postgresql") \
  .option("host", dbutils.secrets.get(scope="<scope>", key="<host>")) \
  .option("port", "<port>") \
  .option("database", "<database-name>") \
  .option("dbtable", "<table-name>") \
  .option("user", dbutils.secrets.get(scope="<scope>", key="<user>")) \
  .option("password", dbutils.secrets.get(scope="<scope>", key="<password>")) \
  .mode("append") \
  .save()

Další kroky

  • Zdroje dat Sparku: Pokyny k nastavení, příklady kódu a porovnání strategií integrace Sparku.
  • Připojení JDBC: Použijte připojení katalogu Unity s ovladačem JDBC pro možnosti nepodporované konektory v bezserverové službě nebo pro zdroje dat bez konektoru se sadou.
  • Referenční informace k možnostem rozhraní Spark API: Referenční informace pro DataFrameReader, DataFrameWriter a možnosti streamování pro formáty souborů a zdroje streamování.