Udostępnij za pośrednictwem


Konfigurowanie usługi Azure Database for PostgreSQL w działaniu kopiowania

W tym artykule opisano sposób używania działania kopiowania w potoku danych do kopiowania danych z i do usługi Azure Database for PostgreSQL.

Obsługiwana konfiguracja

Aby skonfigurować każdą zakładkę w działaniu kopiowania, przejdź kolejno do poniższych sekcji.

Ogólne

Zapoznaj się z wskazówkami dotyczącymi ogólnych ustawień, aby skonfigurować kartę ustawień ogólnych .

Źródło

Przejdź do karty Źródło, aby skonfigurować źródło działania kopiowania. Zobacz następującą zawartość, aby uzyskać szczegółową konfigurację.

Zrzut ekranu przedstawiający kartę źródłową i listę właściwości.

Następujące trzy właściwości są wymagane:

  • połączenie: wybierz połączenie Azure Database for PostgreSQL z listy połączeń. Jeśli połączenie nie istnieje, utwórz nowe połączenie usługi Azure Database for PostgreSQL.
  • Typ połączenia: wybierz bazę danych Azure Database for PostgreSQL.
  • Użyj zapytania: wybierz tabeli, aby odczytywać dane z określonej tabeli lub wybierz zapytanie do odczytywania danych przy użyciu zapytań.
    • Jeśli wybierzesz tabelę:

      • Table: wybierz tabelę z listy rozwijanej lub wybierz pozycję Wprowadź ręcznie, aby ręcznie wprowadzić ją w celu odczytu danych.

        Zrzut ekranu przedstawiający Użyj zapytania — tabela.

    • Jeśli wybierzesz zapytanie:

      • Zapytanie: określ niestandardowe zapytanie SQL do odczytu danych. Na przykład: SELECT * FROM mytable lub SELECT * FROM "MyTable".

        Notatka

        W usłudze PostgreSQL nazwa jednostki jest traktowana jako bez uwzględniania wielkości liter, jeśli nie jest cytowana.

        Zrzut ekranu przedstawiający użycie zapytania — Zapytanie.

W obszarze Advancedmożna określić następujące pola:

  • limit czasu zapytania (w minutach): określ czas oczekiwania przed zakończeniem próby wykonania polecenia i wygenerowanie 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.

  • Opcja Partycji: Określa opcje partycjonowania danych stosowane przy ładowaniu danych z usługi Azure Database for PostgreSQL. Po włączeniu opcji partycji (czyli nie None), stopień równoległości równoczesnego ładowania danych z usługi Azure Database for PostgreSQL jest kontrolowany przez stopień równoległości kopiowania na karcie ustawień działania kopiowania.

    Jeśli wybierzesz Brak, decydujesz się nie używać partycji.

    Jeśli wybierzesz partycje fizyczne tabeli:

    • Nazwy partycji: określ listę partycji fizycznych, które mają zostać skopiowane.

      Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfTabularPartitionName w klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z Azure Database for PostgreSQL.

      Zrzut ekranu przedstawiający konfigurację po wybraniu partycji fizycznych tabeli.

    Jeśli wybierzesz zakres dynamiczny:

    • Nazwa kolumny partycji: określ nazwę kolumny źródłowej typu liczba całkowita lub data/godzina w (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone lub time without time zone), która będzie używana do partycjonowania zakresowego w celu kopiowania równoległego. Jeśli klucz podstawowy tabeli nie zostanie określony, zostanie on automatycznie wykryty i użyty jako kolumna partycji.

      Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfRangePartitionColumnName w klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Parallel copy from Azure Database for PostgreSQL (Kopiowanie równoległe z usługi Azure Database for PostgreSQL).

    • Górna granica partycji: określ maksymalną wartość kolumny partycji, aby skopiować dane.

      Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfRangePartitionUpbound w klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Parallel copy from Azure Database for PostgreSQL (Kopiowanie równoległe z usługi Azure Database for PostgreSQL). .

    • Partition lower bound: Określ minimalną wartość kolumny partycji w celu skopiowania danych.

      Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfRangePartitionLowbound w klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Parallel copy from Azure Database for PostgreSQL (Kopiowanie równoległe z usługi Azure Database for PostgreSQL).

      Zrzut ekranu przedstawiający konfigurację po wybraniu pozycji Zakres dynamiczny.

  • dodatkowe kolumny: Dodaj dodatkowe kolumny danych, aby przechowywać ścieżkę względną plików źródłowych lub wartość statyczną. Wyrażenie jest obsługiwane w przypadku tych ostatnich.

Cel

Przejdź do karty Miejsce docelowe, aby skonfigurować miejsce docelowe aktywności kopiowania. Zobacz następującą zawartość, aby uzyskać szczegółową konfigurację.

Zrzut ekranu przedstawiający kartę docelową i listę właściwości.

Następujące trzy właściwości są wymagane:

  • Połączenie: Wybierz z listy połączeń połączenie Azure Database for PostgreSQL. Jeśli połączenie nie istnieje, utwórz nowe połączenie usługi Azure Database for PostgreSQL.
  • Typ połączenia: wybierz Azure Database for PostgreSQL.
  • table: wybierz tabelę z listy rozwijanej lub wybierz pozycję Wprowadź ręcznie, aby wprowadzić ją w celu zapisania danych.

W obszarze Advancedmożna określić następujące pola:

  • metoda Write: wybierz metodę używaną do zapisywania danych w usłudze Azure Database for PostgreSQL. Wybierz spośród polecenia Kopiuj (domyślne, bardziej wydajne) i Wstawianie Zbiorcze.

  • Skrypt pre-kopiowania: Określ zapytanie SQL do działania kopiowania, które ma zostać wykonane 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.

  • Przekroczenie limitu czasu dla operacji zapisu wsadowego: określ czas oczekiwania na zakończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. Dozwoloną wartością jest przedział czasu. Wartość domyślna to 00:30:00 (30 minut).

  • Rozmiar partii zapisu: określ liczbę wierszy załadowanych do usługi Azure Database for PostgreSQL na partię. Dozwolona wartość to liczba całkowita reprezentująca liczbę wierszy. Wartość domyślna to 1000 000.

Mapowanie

Aby uzyskać konfiguracja kart mapowania, zobacz Konfigurowanie mapowań na karcie mapowania.

Ustawienia

Aby uzyskać konfigurację karty Ustawienia, przejdź do Konfiguruj pozostałe ustawienia na karcie ustawień.

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ła 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 Stopień równoległości kopiowania na karcie ustawień działania kopiowania. Jeśli na przykład ustawisz stopień równoległości kopiowania na 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, ale z kolumną całkowitą na potrzeby partycjonowania danych. Opcje partycji: zakres dynamiczny.
Kolumna partycji: określ kolumnę używaną do partycjonowania danych. Jeśli nie określono inaczej, zostanie użyta kolumna klucza podstawowego.
Dużą ilość danych ładuj przy użyciu zapytania niestandardowego z wykorzystaniem partycji fizycznych. opcja partycji: fizyczne partycje tabeli.
Query: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>.
Nazwa partycji: Określ nazwy partycji do skopiowania danych. Jeśli nie zostanie to określone, usługa automatycznie wykryje partycje fizyczne w tabeli, którą określiłeś 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: zakres dynamiczny.
Query: 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 dokonać partycji kolumny według typu danych: całkowitego, daty lub daty/czasu.
Partycji górna granica i Partycja dolna granica: 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, ?AdfRangePartitionUpboundi ?AdfRangePartitionLowbound rzeczywistymi nazwami kolumn i zakresami wartości dla każdej partycji oraz wysyła 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, a kopiowanie równoległe jest ustawione na 4, usługa pobiera dane na 4 partycje. Identyfikatory to odpowiednio [1, 20], [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ść.

Podsumowanie tabeli

Poniższa tabela zawiera więcej informacji o działaniu kopiowania w usłudze Azure Database for PostgreSQL.

Informacje o źródle

Nazwa Opis Wartość Wymagane Właściwość skryptu JSON
Połączenie Połączenie ze źródłowym magazynem danych. < połączenie z bazą danych Azure Database for PostgreSQL > Tak połączenie
typ połączenia Typ połączenia źródłowego. Azure baza danych dla PostgreSQL Tak /
Użyj zapytania Sposób odczytywania danych. Zastosuj Table, aby odczytywać dane z określonej tabeli lub stosować Query do odczytywania danych przy użyciu zapytań. Tabela
Zapytanie
Tak • typeProperties (pod typeProperties ->source)
  -schemat
  - stół
•zapytanie
limit czasu zapytania (w minutach) 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. przedział czasu Nie limit czasu zapytania
nazwy partycji Lista partycji fizycznych, które należy skopiować. Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfTabularPartitionName w klauzuli WHERE. < Twoje nazwy partycji > Nie nazwy partycji
Nazwa kolumny partycji Nazwa kolumny źródłowej typu liczba całkowita lub data/godzina w (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone lub time without time zone), używana w partycjonowaniu zakresu na potrzeby kopiowania równoległego. Jeśli klucz podstawowy tabeli nie zostanie określony, zostanie automatycznie wykryty i użyty jako kolumna partycji. < Twoje nazwy kolumn partycji > Nie nazwa kolumny partycji
górna granica partycji Maksymalna wartość kolumny partycji do skopiowania danych. Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfRangePartitionUpbound w klauzuli WHERE. < górna granica twojej partycji > Nie górna_granica_partycji
Podział dolna granica Minimalna wartość kolumny partycji do skopiowania danych. Jeśli używasz zapytania do pobierania danych źródłowych, podłącz ?AdfRangePartitionLowbound w klauzuli WHERE. < dolnej granicy partycji > Nie dolna granica partycji
dodatkowe kolumny Dodaj dodatkowe kolumny danych, aby przechowywać ścieżkę względną plików źródłowych lub wartość statyczną. Wyrażenie jest obsługiwane w przypadku drugiej z opcji. •Nazwa
•Wartość
Nie dodatkoweKolumny:
•nazwa
•wartość

Informacje o lokalizacji docelowej

Nazwa Opis Wartość Wymagane Właściwość skryptu JSON
połączenie Połączenie z docelowym magazynem danych. < twoje połączenie z Bazą Danych Azure dla PostgreSQL > Tak połączenie
typ połączenia Typ połączenia docelowego. Azure Baza danych dla PostgreSQL Tak /
tabeli Docelowa tabela danych do zapisywania danych. < nazwa tabeli docelowej > Tak typeProperties (w zakresie typeProperties —>sink):
  -schemat
  - stół
Metoda write Metoda używana do zapisywania danych w usłudze Azure Database for PostgreSQL. Polecenie kopiowania (ustawienie domyślne)
zbiorcze wstawianie
Nie writeMethod:
• KopiujPolecenie
• BulkInsert
skryptu przed kopiowaniem Zapytanie SQL dotyczące 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. < twój skrypt wstępnego kopiowania > Nie preCopyScript
Przekroczenie limitu czasu zapisu wsadowego Czas oczekiwania na zakończenie operacji wstawiania wsadowego przed upływem limitu czasu. przedział czasu
(wartość domyślna to 00:30:00 - 30 minut)
Nie writeBatchTimeout
rozmiar partii zapisu Liczba wierszy załadowanych do usługi Azure Database for PostgreSQL na partię. liczba całkowita
(wartość domyślna to 1000 000)
Nie writeBatchSize