Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime 13.3 LTS a vyšší verze
Vrátí tabulku se záznamy načtenými z Pub/Sub z daného tématu. Podporuje pouze dotazy streamování.
Syntaxe
read_pubsub( { parameter => value } [, ...])
Argumenty
read_pubsub vyžaduje vyvolání pojmenovaného parametru.
Jedinými povinnými argumenty jsou subscriptionId, projectIda topicId. Všechny ostatní argumenty jsou volitelné.
Úplné popisy argumentů najdete v tématu Konfigurace možností čtení Pub/Sub streamingu.
Databricks doporučuje používat tajné kódy při poskytování možností autorizace. Viz secret funkce.
Podrobnosti o konfiguraci přístupu k pub/sub naleznete v tématu Konfigurace přístupu k Pub/Sub.
| Parametr | Typ | Popis |
|---|---|---|
subscriptionId |
STRING |
Povinný identifikátor přiřazený k předplatnému Pub/Sub. |
projectId |
STRING |
Povinné je ID projektu Google Cloud přidružené k tématu Pub/Sub. |
topicId |
STRING |
Povinné, ID nebo název tématu Pub/Sub pro odběr. |
clientEmail |
STRING |
E-mailová adresa přidružená k účtu služby pro ověřování. |
clientId |
STRING |
ID klienta přidružené k účtu služby pro ověřování. |
privateKeyId |
STRING |
ID privátního klíče přidruženého k účtu služby. |
privateKey |
STRING |
Privátní klíč přidružený k účtu služby pro ověřování. |
Tyto argumenty se používají k dalšímu vyladění při čtení z Pub/Sub:
| Parametr | Typ | Popis |
|---|---|---|
numFetchPartitions |
STRING |
Volitelné s výchozím počtem exekutorů. Počet paralelních úloh Spark, které načítají záznamy z předplatného. |
deleteSubscriptionOnStreamStop |
BOOLEAN |
Volitelné s výchozím nastavením false. Je-li nastavena hodnota true, odběr předaný streamu se odstraní po ukončení úlohy streamování. |
maxBytesPerTrigger |
STRING |
Měkký limit velikosti dávky, která se má zpracovat během každé aktivované mikrodávkové dávky. Výchozí hodnota je žádná. |
maxRecordsPerFetch |
STRING |
Počet záznamů, které se mají načíst před zpracováním záznamů na každou úlohu. Výchozí hodnota je 1000. |
maxFetchPeriod |
STRING |
Doba trvání pro načtení každého úkolu před zpracováním záznamů. Výchozí hodnota je 10s. |
Návraty
Tabulka záznamů Pub/Sub s následujícím schématem. Sloupec atributů může mít hodnotu null, ale všechny ostatní sloupce nemají hodnotu null.
| Název | Datový typ | Vynulovatelné | Standard | Popis |
|---|---|---|---|---|
messageId |
STRING |
Ne | Jedinečný identifikátor zprávy Pub/Sub. | |
payload |
BINARY |
Ne | Obsah zprávy Pub/Sub | |
attributes |
STRING |
Ano | Páry klíčů a hodnot představující atributy zprávy Pub/Sub. Jedná se o řetězec kódovaný ve formátu JSON. | |
publishTimestampInMillis |
BIGINT |
Ne | Časové razítko při publikování zprávy v milisekundách. | |
sequenceNumber |
BIGINT |
Ne | Jedinečný identifikátor záznamu v rámci jeho fragmentu. |
Příklady
-- Streaming Ingestion from Pubsub using Google Service Account secrets
> CREATE STREAMING TABLE testing.streaming_table AS
SELECT * FROM STREAM read_pubsub (
subscriptionId => 'app-events-1234',
projectId => 'app-events-project',
topicId => 'app-events-topic',
clientEmail => secret('app-events', 'clientEmail'),
clientId => secret('app-events', 'clientId'),
privateKeyId => secret('app-events', 'privateKeyId'),
privateKey => secret('app-events', 'privateKey')
);
-- A streaming query when a service account is associated with the cluster
> CREATE STREAMING TABLE testing.streaming_table AS
SELECT * FROM STREAM read_pubsub (
subscriptionId => 'app-events-1234',
projectId => 'app-events-project',
topicId => 'app-events-topic'
);
Data by nyní musela dotázat z testing.streaming_table pro další analýzu.
Chybné dotazy:
-- Missing topicId option
> CREATE STREAMING TABLE testing.streaming_table AS
SELECT * FROM STREAM read_pubsub (
subscriptionId => 'app-events-1234',
projectId => 'app-events-project'
);
-- Limit is too high for an option, MAX_RECORDS_PER_FETCH_LIMIT
> CREATE STREAMING TABLE testing.streaming_table AS
SELECT * FROM STREAM read_pubsub (
subscriptionId => 'app-events-1234',
projectId => 'app-events-project',
topicId => 'app-events-topic',
maxRecordsPerFetchLimit => '1000001'
);
Související články
- CREATE STREAMING TABLE
-
read_filestabulkově hodnotová funkce -
read_kafkatabulkově hodnotová funkce