Kopiowanie i przekształcanie danych w usłudze Azure Database for PostgreSQL przy użyciu usługi Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory i Synapse Analytics do kopiowania danych z i do usługi Azure Database for PostgreSQL oraz używania Przepływ danych do przekształcania danych w usłudze Azure Database for PostgreSQL. Aby dowiedzieć się więcej, przeczytaj artykuły wprowadzające dotyczące usług Azure Data Factory i Synapse Analytics.

Ten łącznik jest przeznaczony dla usługi Azure Database for PostgreSQL. Aby skopiować dane z ogólnej bazy danych PostgreSQL znajdującej się lokalnie lub w chmurze, użyj łącznika PostgreSQL.

Obsługiwane możliwości

Ten łącznik usługi Azure Database for PostgreSQL jest obsługiwany dla następujących funkcji:

Obsługiwane możliwości IR Zarządzany prywatny punkt końcowy
działanie Kopiuj (źródło/ujście) ① ②
Przepływ danych mapowania (źródło/ujście)
Działanie Lookup ① ②

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Trzy działania działają na wszystkich opcjach wdrażania usługi Azure Database for PostgreSQL:

Wprowadzenie

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z usługą Azure Database for PostgreSQL przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Azure Database for PostgreSQL w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj pozycję PostgreSQL i wybierz łącznik usługi Azure Database for PostgreSQL.

    Select the Azure database for PostgreSQL connector.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Configure a linked service to Azure database for PostgreSQL.

szczegóły konfiguracji Połączenie or

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek usługi Data Factory specyficznych dla łącznika usługi Azure Database for PostgreSQL.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane dla połączonej usługi Azure Database for PostgreSQL:

Właściwości Opis Wymagania
type Właściwość type musi być ustawiona na: AzurePostgreSql. Tak
Parametry połączenia Parametry połączenia ODBC w celu nawiązania połączenia z usługą Azure Database for PostgreSQL.
Możesz również umieścić hasło w usłudze Azure Key Vault i ściągnąć password konfigurację z parametry połączenia. Aby uzyskać więcej informacji, zobacz następujące przykłady i przechowywanie poświadczeń w usłudze Azure Key Vault .
Tak
connectVia Ta właściwość reprezentuje środowisko Integration Runtime , które ma być używane do nawiązywania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. Nie.

Typowy parametry połączenia to Server=<server>.postgres.database.azure.com;Database=<database>;Port=<port>;UID=<username>;Password=<Password>. Poniżej przedstawiono więcej właściwości, które można ustawić dla danego przypadku:

Właściwości opis Opcje Wymagania
EncryptionMethod (EM) Metoda używana przez sterownik do szyfrowania danych wysyłanych między sterownikiem a serwerem bazy danych. Na przykład EncryptionMethod=<0/1/6>; 0 (bez szyfrowania) (ustawienie domyślne) / 1 (SSL) / 6 (RequestSSL) Nie.
ValidateServerCertificate (VSC) Określa, czy sterownik weryfikuje certyfikat wysyłany przez serwer bazy danych po włączeniu szyfrowania SSL (Metoda szyfrowania=1). Na przykład ValidateServerCertificate=<0/1>; 0 (wyłączone) (ustawienie domyślne) / 1 (włączone) Nie.

Przykład:

{
    "name": "AzurePostgreSqlLinkedService",
    "properties": {
        "type": "AzurePostgreSql",
        "typeProperties": {
            "connectionString": "Server=<server>.postgres.database.azure.com;Database=<database>;Port=<port>;UID=<username>;Password=<Password>"
        }
    }
}

Przykład:

Przechowywanie hasła w usłudze Azure Key Vault

{
    "name": "AzurePostgreSqlLinkedService",
    "properties": {
        "type": "AzurePostgreSql",
        "typeProperties": {
            "connectionString": "Server=<server>.postgres.database.azure.com;Database=<database>;Port=<port>;UID=<username>;",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        }
    }
}

Właściwości zestawu danych

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz Zestawy danych. Ta sekcja zawiera listę właściwości obsługiwanych przez usługę Azure Database for PostgreSQL w zestawach danych.

Aby skopiować dane z usługi Azure Database for PostgreSQL, ustaw właściwość type zestawu danych na wartość AzurePostgreSqlTable. Obsługiwane są następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type zestawu danych musi być ustawiona na AzurePostgreSqlTable Tak
tableName Nazwa tabeli Nie (jeśli określono "zapytanie" w źródle działania)

Przykład:

{
    "name": "AzurePostgreSqlDataset",
    "properties": {
        "type": "AzurePostgreSqlTable",
        "linkedServiceName": {
            "referenceName": "<AzurePostgreSql linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {}
    }
}

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz Potoki i działania. Ta sekcja zawiera listę właściwości obsługiwanych przez źródło usługi Azure Database for PostgreSQL.

Usługa Azure Database for PostgreSql jako źródło

Aby skopiować dane z usługi Azure Database for PostgreSQL, ustaw typ źródła w działaniu kopiowania na wartość AzurePostgreSqlSource. Następujące właściwości są obsługiwane w sekcji źródło działania kopiowania:

Właściwości Opis Wymagania
type Właściwość type źródła działania kopiowania musi być ustawiona na Wartość AzurePostgreSqlSource Tak
zapytanie Użyj niestandardowego zapytania SQL, aby odczytać dane. Na przykład: SELECT * FROM mytable lub SELECT * FROM "MyTable". Uwaga w usłudze PostgreSQL nazwa jednostki jest traktowana jako bez uwzględniania wielkości liter, jeśli nie jest cytowana. Nie (jeśli właściwość tableName w zestawie danych jest określona)
partitionOptions Określa opcje partycjonowania danych używane do ładowania danych z usługi Azure SQL Database.
Dozwolone wartości to: Brak (wartość domyślna), PhysicalPartitionsOfTable i DynamicRange.
Jeśli opcja partycji jest włączona (czyli nie None), stopień równoległości równoczesnego ładowania danych z usługi Azure SQL Database jest kontrolowany przez parallelCopies ustawienie działania kopiowania.
Nie.
partycja Ustawienia Określ grupę ustawień partycjonowania danych.
Zastosuj, gdy opcja partycji nie Nonejest .
Nie.
W obszarze partitionSettings:
partitionNames Lista partycji fizycznych, które należy skopiować.
Zastosuj, gdy opcja partycji to PhysicalPartitionsOfTable. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfTabularPartitionName się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Azure Database for PostgreSQL .
Nie.
partitionColumnName Określ nazwę kolumny źródłowej w liczbą całkowitą lub typ daty/daty/godziny (int, smallint, , bigintdate, timestamp without time zonetimestamp with time zone lub time without time zone), który będzie używany przez partycjonowanie zakresu na potrzeby kopiowania równoległego. Jeśli nie zostanie określony, klucz podstawowy tabeli zostanie automatycznie wykryty i użyty jako kolumna partycji.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionColumnName się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Azure Database for PostgreSQL .
Nie.
partitionUpperBound Maksymalna wartość kolumny partycji do skopiowania danych.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionUpbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Azure Database for PostgreSQL .
Nie.
partitionLowerBound Minimalna wartość kolumny partycji do skopiowania danych.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionLowbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Azure Database for PostgreSQL .
Nie.

Przykład:

"activities":[
    {
        "name": "CopyFromAzurePostgreSql",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<AzurePostgreSql input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzurePostgreSqlSource",
                "query": "<custom query e.g. SELECT * FROM mytable>"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Database for PostgreSQL jako ujście

Aby skopiować dane do usługi Azure Database for PostgreSQL, w sekcji ujścia działania kopiowania są obsługiwane następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type ujścia działania kopiowania musi być ustawiona na Wartość AzurePostgreSQLSink. Tak
preCopyScript Określ zapytanie SQL dla działania kopiowania do wykonania przed zapisaniem danych w usłudze Azure Database for PostgreSQL w każdym uruchomieniu. Za pomocą tej właściwości można wyczyścić wstępnie załadowane dane. Nie.
writeMethod Metoda używana do zapisywania danych w usłudze Azure Database for PostgreSQL.
Dozwolone wartości to: CopyCommand (wartość domyślna, która jest bardziej wydajna), BulkInsert.
Nie.
writeBatchSize Liczba wierszy załadowanych do usługi Azure Database for PostgreSQL na partię.
Dozwolona wartość to liczba całkowita reprezentująca liczbę wierszy.
Nie (wartość domyślna to 1000 000)
writeBatchTimeout Czas oczekiwania na ukończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu.
Dozwolone wartości to ciągi przedziału czasu. Przykładem jest 00:30:00 (30 minut).
Nie (wartość domyślna to 00:30:00)

Przykład:

"activities":[
    {
        "name": "CopyToAzureDatabaseForPostgreSQL",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure PostgreSQL output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzurePostgreSQLSink",
                "preCopyScript": "<custom SQL script>",
                "writeMethod": "CopyCommand",
                "writeBatchSize": 1000000
            }
        }
    }
]

Kopiowanie równoległe z usługi Azure Database for PostgreSQL

Łącznik usługi Azure Database for PostgreSQL w działaniu kopiowania zapewnia wbudowane partycjonowanie danych w celu równoległego kopiowania danych. Opcje partycjonowania danych można znaleźć na karcie Źródło działania kopiowania.

Screenshot of partition options

Po włączeniu kopii partycjonowanej działanie kopiowania uruchamia zapytania równoległe względem źródła usługi Azure Database for PostgreSQL w celu załadowania danych według partycji. Stopień równoległy jest kontrolowany przez parallelCopies ustawienie działania kopiowania. Jeśli na przykład ustawiono parallelCopies wartość cztery, usługa jednocześnie generuje i uruchamia cztery zapytania na podstawie określonej opcji partycji i ustawień, a każde zapytanie pobiera część danych z usługi Azure Database for PostgreSQL.

Zaleca się włączenie kopiowania równoległego przy użyciu partycjonowania danych, szczególnie w przypadku ładowania dużej ilości danych z usługi Azure Database for PostgreSQL. Poniżej przedstawiono sugerowane konfiguracje dla różnych scenariuszy. Podczas kopiowania danych do magazynu danych opartego na plikach zaleca się zapisywanie w folderze jako wielu plików (tylko określ nazwę folderu), w tym przypadku wydajność jest lepsza niż zapisywanie w jednym pliku.

Scenariusz Sugerowane ustawienia
Pełne ładowanie z dużej tabeli z partycjami fizycznymi. Opcja partycji: fizyczne partycje tabeli.

Podczas wykonywania usługa automatycznie wykrywa partycje fizyczne i kopiuje dane według partycji.
Pełne ładowanie z dużej tabeli, bez partycji fizycznych, podczas gdy z kolumną całkowitą na potrzeby partycjonowania danych. Opcje partycji: partycja zakresu dynamicznego.
Kolumna partycji: określ kolumnę używaną do partycjonowania danych. Jeśli nie zostanie określona, zostanie użyta kolumna klucza podstawowego.
Załaduj dużą ilość danych przy użyciu zapytania niestandardowego z partycjami fizycznymi. Opcja partycji: fizyczne partycje tabeli.
Zapytanie: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>.
Nazwa partycji: określ nazwy partycji do skopiowania danych. Jeśli nie zostanie określony, usługa automatycznie wykryje partycje fizyczne w tabeli określonej w zestawie danych PostgreSQL.

Podczas wykonywania usługa zastępuje ?AdfTabularPartitionName rzeczywistą nazwą partycji i wysyła do usługi Azure Database for PostgreSQL.
Załaduj dużą ilość danych przy użyciu zapytania niestandardowego, bez partycji fizycznych, natomiast z kolumną całkowitą na potrzeby partycjonowania danych. Opcje partycji: partycja zakresu dynamicznego.
Zapytanie: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Kolumna partycji: określ kolumnę używaną do partycjonowania danych. Możesz podzielić na partycje kolumnę z liczbą całkowitą lub typem danych date/datetime.
Górna granica partycji i dolna granica partycji: określ, czy chcesz filtrować względem kolumny partycji, aby pobrać dane tylko między dolnym i górnym zakresem.

Podczas wykonywania usługa zastępuje ?AdfRangePartitionColumnNamewartości , ?AdfRangePartitionUpboundi ?AdfRangePartitionLowbound rzeczywistymi nazwami kolumn i zakresami wartości dla każdej partycji oraz wysyła je do usługi Azure Database for PostgreSQL.
Jeśli na przykład kolumna partycji "ID" jest ustawiona z dolną granicą jako 1 i górną granicą jako 80, z równoległym zestawem kopiowania ustawionym na 4, usługa pobiera dane przez 4 partycje. Ich identyfikatory to odpowiednio [120], [21, 40], [41, 60] i [61, 80].

Najlepsze rozwiązania dotyczące ładowania danych z opcją partycji:

  1. Wybierz charakterystyczną kolumnę jako kolumnę partycji (np. klucz podstawowy lub unikatowy klucz), aby uniknąć niesymetryczności danych.
  2. Jeśli tabela ma wbudowaną partycję, użyj opcji partycji "Partycje fizyczne tabeli", aby uzyskać lepszą wydajność.
  3. Jeśli używasz środowiska Azure Integration Runtime do kopiowania danych, możesz ustawić większe wartości "Integracja danych Units (DIU)" (>4) w celu korzystania z większej liczby zasobów obliczeniowych. Sprawdź odpowiednie scenariusze.
  4. "Stopień równoległości kopiowania" steruje numerami partycji, ustawiając tę liczbę zbyt dużą, czasami boli wydajność, zaleca się ustawienie tej liczby jako (DIU lub liczba węzłów własnego środowiska IR) * (od 2 do 4).

Przykład: pełne ładowanie z dużej tabeli z partycjami fizycznymi

"source": {
    "type": "AzurePostgreSqlSource",
    "partitionOption": "PhysicalPartitionsOfTable"
}

Przykład: zapytanie z partycją zakresu dynamicznego

"source": {
    "type": "AzurePostgreSqlSource",
    "query": "SELECT * FROM <TableName> WHERE ?AdfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

Właściwości przepływu mapowania danych

Podczas przekształcania danych w przepływie mapowania danych można odczytywać i zapisywać w tabelach z usługi Azure Database for PostgreSQL. Aby uzyskać więcej informacji, zobacz przekształcanie źródła i przekształcanie ujścia w przepływach danych mapowania. Możesz użyć zestawu danych usługi Azure Database for PostgreSQL lub wbudowanego zestawu danych jako typu źródła i ujścia.

Przekształcanie źródła

Poniższa tabela zawiera listę właściwości obsługiwanych przez źródło usługi Azure Database for PostgreSQL. Te właściwości można edytować na karcie Opcje źródła.

Nazwa/nazwisko opis Wymagania Dozwolone wartości Właściwość skryptu przepływu danych
Table W przypadku wybrania pozycji Tabela jako danych wejściowych przepływ danych pobiera wszystkie dane z tabeli określonej w zestawie danych. Nie. - (tylko w przypadku wbudowanego zestawu danych)
tableName
Query Jeśli wybierzesz pozycję Zapytanie jako dane wejściowe, określ zapytanie SQL, aby pobrać dane ze źródła, które zastępuje dowolną tabelę, którą określisz w zestawie danych. Korzystanie z zapytań to doskonały sposób na zmniejszenie liczby wierszy na potrzeby testowania lub wyszukiwania.

Klauzula Order By nie jest obsługiwana, ale można ustawić pełną instrukcję SELECT FROM. Można również użyć funkcji tabeli zdefiniowanych przez użytkownika. select * from udfGetData() is a UDF in SQL that zwraca tabelę, której można użyć w przepływie danych.
Przykład zapytania: select * from mytable where customerId > 1000 and customerId < 2000 lub select * from "MyTable". Uwaga w usłudze PostgreSQL nazwa jednostki jest traktowana jako bez uwzględniania wielkości liter, jeśli nie jest cytowana.
Nie. String zapytanie
Nazwa schematu Jeśli wybierzesz procedurę składowaną jako dane wejściowe, określ nazwę schematu procedury składowanej lub wybierz pozycję Odśwież, aby poprosić usługę o odnalezienie nazw schematów. Nie. String Schemaname
Procedura składowana Jeśli wybierzesz procedurę składowaną jako dane wejściowe, określ nazwę procedury składowanej do odczytu danych z tabeli źródłowej lub wybierz pozycję Odśwież, aby poprosić usługę o odnalezienie nazw procedur. Tak (jeśli wybierzesz procedurę składowaną jako dane wejściowe) String procedureName
Parametry procedury Jeśli wybierzesz procedurę składowaną jako dane wejściowe, określ parametry wejściowe procedury składowanej w kolejności ustawionej w procedurze lub wybierz pozycję Importuj, aby zaimportować wszystkie parametry procedury przy użyciu formularza @paraName. Nie. Tablica Wejścia
Rozmiar partii Określ rozmiar partii, aby podzielić duże dane na partie. Nie. Liczba całkowita batchSize
Poziom izolacji Wybierz jeden z następujących poziomów izolacji:
- Odczyt zatwierdzony
- Odczyt niezatwierdzony (ustawienie domyślne)
- Powtarzalny odczyt
-Serializacji
- Brak (ignoruj poziom izolacji)
Nie. READ_COMMITTED
READ_UNCOMMITTED
REPEATABLE_READ
SERIALIZACJI
BRAK
Isolationlevel

Przykład skryptu źródłowego usługi Azure Database for PostgreSQL

Jeśli używasz usługi Azure Database for PostgreSQL jako typu źródła, skojarzony skrypt przepływu danych to:

source(allowSchemaDrift: true,
    validateSchema: false,
    isolationLevel: 'READ_UNCOMMITTED',
    query: 'select * from mytable',
    format: 'query') ~> AzurePostgreSQLSource

Przekształcenie ujścia

W poniższej tabeli wymieniono właściwości obsługiwane przez ujście usługi Azure Database for PostgreSQL. Te właściwości można edytować na karcie Opcje ujścia.

Nazwa/nazwisko opis Wymagania Dozwolone wartości Właściwość skryptu przepływu danych
Metoda aktualizacji Określ, jakie operacje są dozwolone w miejscu docelowym bazy danych. Ustawieniem domyślnym jest zezwalanie tylko na wstawianie.
Aby zaktualizować, upsert lub usunąć wiersze, do tagowania wierszy dla tych akcji jest wymagane przekształcenie alter wiersza.
Tak true lub false możliwe do usunięcia
możliwość wstawienia
Aktualizowana
upsertable
Kolumny kluczy W przypadku aktualizacji, operacji upserts i delete należy ustawić kolumny kluczy, aby określić, który wiersz ma zostać zmieniony.
Nazwa kolumny wybranej jako klucz będzie używana w ramach kolejnej aktualizacji, upsert, delete. W związku z tym należy wybrać kolumnę, która istnieje w mapowaniu ujścia.
Nie. Tablica keys
Pomijanie zapisywania kolumn kluczy Jeśli nie chcesz zapisywać wartości w kolumnie klucza, wybierz pozycję "Pomiń pisanie kolumn kluczy". Nie. true lub false skipKeyWrites
Akcja tabeli Określa, czy należy ponownie utworzyć lub usunąć wszystkie wiersze z tabeli docelowej przed zapisem.
- Brak: żadna akcja nie zostanie wykonana w tabeli.
- Utwórz ponownie: tabela zostanie porzucona i utworzona ponownie. Wymagane w przypadku dynamicznego tworzenia nowej tabeli.
- Obcinanie: wszystkie wiersze z tabeli docelowej zostaną usunięte.
Nie. true lub false Odtworzyć
truncate
Rozmiar partii Określ liczbę wierszy zapisywanych w każdej partii. Większe rozmiary partii zwiększają kompresję i optymalizację pamięci, ale ryzykuj z wyjątków pamięci podczas buforowania danych. Nie. Liczba całkowita batchSize
Wybieranie schematu bazy danych użytkownika Domyślnie tabela tymczasowa zostanie utworzona w schemacie ujścia jako tymczasowa. Alternatywnie można usunąć zaznaczenie opcji Użyj schematu ujścia, a zamiast tego określić nazwę schematu , w ramach którego usługa Data Factory utworzy tabelę przejściową w celu załadowania danych nadrzędnych i automatycznego czyszczenia ich po zakończeniu. Upewnij się, że masz uprawnienie do tworzenia tabeli w bazie danych i zmień uprawnienia w schemacie. Nie. String stagingSchemaName
Skrypty pre-sql i post Określ wielowierszowe skrypty SQL, które będą wykonywane przed (wstępne przetwarzanie) i po (przetwarzaniu po przetwarzaniu) dane są zapisywane w bazie danych ujścia. Nie. String preSQLs
postSQLs

Napiwek

  1. Zaleca się podzielenie pojedynczych skryptów wsadowych z wieloma poleceniami na wiele partii.
  2. W ramach partii można uruchamiać tylko instrukcje języka DDL (Data Definition Language) i Języka manipulowania danymi (DML), które zwracają prostą liczbę aktualizacji. Dowiedz się więcej na temat wykonywania operacji wsadowych
  • Włącz wyodrębnianie przyrostowe: użyj tej opcji, aby poinformować usługę ADF o przetwarzaniu tylko wierszy, które uległy zmianie od czasu ostatniego wykonania potoku.

  • Kolumna przyrostowa: w przypadku korzystania z funkcji wyodrębniania przyrostowego należy wybrać kolumnę daty/godziny lub liczbową, która ma być używana jako znak wodny w tabeli źródłowej.

  • Rozpocznij odczytywanie od początku: ustawienie tej opcji przy użyciu wyodrębniania przyrostowego spowoduje, że usługa ADF odczytuje wszystkie wiersze podczas pierwszego wykonywania potoku z włączonym wyodrębnieniem przyrostowym.

Przykładowy skrypt ujścia usługi Azure Database for PostgreSQL

Jeśli używasz usługi Azure Database for PostgreSQL jako typu ujścia, skojarzony skrypt przepływu danych to:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    deletable:false,
    insertable:true,
    updateable:true,
    upsertable:true,
    keys:['keyColumn'],
    format: 'table',
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> AzurePostgreSQLSink

Właściwości działania wyszukiwania

Aby uzyskać więcej informacji na temat właściwości, zobacz Działanie wyszukiwania.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz Obsługiwane magazyny danych.