Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Belangrijk
Deze functie bevindt zich in openbare preview-versie.
Retourneert het tabellaire resultaat van de query die wordt uitgevoerd op de externe database-engine.
remote_query haalt gegevens van externe systemen op met behulp van referenties uit een verbinding.
De functie accepteert een set connectoropties, dus naast de query.
Voor deze functie is aanroepen van benoemde parameters vereist.
Syntaxis
remote_query(connectionName [, connectorOptionKey => connectorOptionValue ] [...])
Arguments
-
Een verplichte
STRINGliteral die verwijst naar de connection name in Unity Catalog. Als de verbindingsnaam niet bestaat, geeft Databricks een CONNECTION_NOT_FOUND foutmelding.De volgende verbindingen worden ondersteund:
- BigQuery
- MySQL
- Oracle
- PostgreSQL
- Redshift
- Snowflake
- SQL Server
- Teradata
Als de verbinding niet wordt ondersteund, wordt er een fout
CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTIONgegenereerd. connectorOptionKeyEen verbindingsoptie-sleutel die een hoofdlettergevoelige identificator is. Elk verbindingstype heeft overeenkomstige verplichte opties (verbindingen met SQL-databases vereisen
queryoftableeen optie, terwijl noSQL-databases optie vereisencollection) en aanvullende optionele configuratieopties (bijvoorbeeld MySQL, PostgreSQL, SQLServer en andere JDBC-achtige verbindingen bieden ondersteuningfetchSizevoor het configureren van de grootte van batches die worden opgehaald). Als een sleutel niet wordt ondersteund, wordtPARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTIONgegenereerd.connectorOptionValueEen constante expressie die de waarde van de connectoroptie vertegenwoordigt.
Retouren
Retourneert een tabel. Het uitvoerschema is afhankelijk van de query of de tabellen die worden gescand op een extern systeem.
Opmerkingen
Deze functie kan niet worden gebruikt in streaming query's (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION).
Voorbeelden
-- Simple example with MySQL connection
> SELECT a, b FROM remote_query('mysql_connection', query => 'SELECT * FROM mysql_database.mysql_table WHERE sin(b) = 0.5');
a b
angle_1 30
-- Simple example with MongoDB (NoSQL) connection
> SELECT a, b FROM remote_query('mongo_connection', collection => 'collection1', pipeline => '[{''$match'': {''b'': 30}}]');
a b
angle_1 30
-- Connection name does not exist
> SELECT * FROM remote_query('non_existent_uc_connection', query => '');
Error: CONNECTION_NOT_FOUND
-- Connection type is not supported
> SELECT * FROM remote_query('google_drive_connection', query => '');
Error: CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION
Gerelateerde functies
- http_request : vergelijkbaar omdat er ook referenties voor de Unity Catalog-verbinding worden gebruikt om HTTP-aanvragen naar een bepaalde API te verzenden
- CREATE CONNECTION
- ALTER CONNECTION
- DROP CONNECTION