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) | (1) (2) | ✓ |
Przepływ danych mapowania (źródło/ujście) | (1) | ✓ |
Działanie Lookup | (1) (2) | ✓ |
(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:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
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.
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:
Wyszukaj pozycję PostgreSQL i wybierz łącznik usługi Azure Database for PostgreSQL.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
Szczegóły konfiguracji łącznika
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) |
queryTimeout | Czas oczekiwania przed zakończeniem próby wykonania polecenia i wygenerowaniem błędu wartość domyślna to 120 minut. Jeśli parametr jest ustawiony dla tej właściwości, dozwolone wartości są przedziałem czasu, takim jak "02:00:00" (120 minut). Aby uzyskać więcej informacji, zobacz CommandTimeout. | Nie. |
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. |
partitionSettings | Określ grupę ustawień partycjonowania danych. Zastosuj, gdy opcja partycji nie None jest . |
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 , , bigint date , timestamp without time zone timestamp 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>",
"queryTimeout": "00:10:00"
},
"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.
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 ?AdfRangePartitionColumnName wartości , ?AdfRangePartitionUpbound i ?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:
- Wybierz charakterystyczną kolumnę jako kolumnę partycji (np. klucz podstawowy lub unikatowy klucz), aby uniknąć niesymetryczności danych.
- Jeśli tabela ma wbudowaną partycję, użyj opcji partycji "Partycje fizyczne tabeli", aby uzyskać lepszą wydajność.
- 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.
- "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. | Integer | 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 możliwe do aktualizacji 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. | Integer | 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
- Zaleca się podzielenie pojedynczych skryptów wsadowych z wieloma poleceniami na wiele partii.
- 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.
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz Obsługiwane magazyny danych.