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

W przypadku konfiguracji każdej karty w działaniu kopiowania przejdź odpowiednio do poniższych sekcji.

Ogólne

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

Ź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ę.

Screenshot showing source tab and the list of properties.

Wymaganenastępujące trzy właściwości:

  • Typ magazynu danych: wybierz pozycję Zewnętrzne.
  • Połączenie ion: wybierz połączenie usługi 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, wybierając pozycję Nowy.
  • typ Połączenie ion: wybierz pozycję Azure Database for PostgreSQL.
  • Użyj zapytania: wybierz pozycję Tabela , aby odczytać dane z określonej tabeli lub wybrać pozycję Zapytanie , aby odczytywać dane przy użyciu zapytań.
    • W przypadku wybrania pozycji Tabela:

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

        Screenshot showing Use query - Table.

    • W przypadku wybrania pozycji Zapytanie:

      • Zapytanie: określ niestandardowe zapytanie SQL do odczytu danych. 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.

        Screenshot showing Use query - Query.

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

  • Opcja partycji: określa opcje partycjonowania danych używane do ładowania danych z usługi Azure Database for PostgreSQL. Jeśli opcja partycji jest włączona (czyli nie brak), 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 pozycję Brak, nie chcesz używać partycji.

    W przypadku wybrania opcji Partycje fizyczne tabeli:

    • Nazwy partycji: określ listę partycji fizycznych, które należy skopiować.

      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 .

      Screenshot showing the configuration when you select Physical partitions of table.

    W przypadku wybrania pozycji Zakres dynamiczny:

    • Nazwa kolumny partycji: określ nazwę kolumny źródłowej w liczbach całkowitych lub typie daty/daty/godziny (int, smallint, bigint, date, timestamp without time zonetimestamp with time zone lub time without time zone), które będą używane 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.

      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 .

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

      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 . .

    • Dolna granica partycji: określ minimalną wartość kolumny partycji, aby skopiować dane.

      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 .

      Screenshot showing the configuration when you select Dynamic range.

  • 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.

Element docelowy

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

Screenshot showing destination tab and the list of properties.

Wymaganenastępujące trzy właściwości:

  • Typ magazynu danych: wybierz pozycję Zewnętrzne.
  • Połączenie ion: wybierz połączenie usługi 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, wybierając pozycję Nowy.
  • typ Połączenie ion: wybierz pozycję Azure Database for PostgreSQL.
  • Tabela: wybierz tabelę z listy rozwijanej lub wybierz pozycję Edytuj , aby ręcznie wprowadzić ją w celu zapisania danych.

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

  • Metoda write: wybierz metodę używaną do zapisywania danych w usłudze Azure Database for PostgreSQL. Wybierz polecenie Kopiuj (ustawienie domyślne, które jest bardziej wydajne) i Wstaw zbiorczo.

  • Skrypt wstępny: 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.

  • Limit czasu zapisu wsadowego: określ czas oczekiwania na zakończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. Dozwolona wartość to 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ć informacje o konfiguracji karty Mapowanie , zobacz Konfigurowanie mapowań na karcie mapowania.

Ustawienia

Aby uzyskać Ustawienia konfiguracji karty, przejdź do sekcji Konfigurowanie innych ustawień na karcie ustawienia.

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 stopień równoległości kopiowania na karcie ustawień działania kopiowania. Jeśli na przykład ustawisz opcję 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, podczas gdy 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 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: zakres dynamiczny.
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:

  • 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 źródłowe

Nazwa/nazwisko Opis Wartość Wymagania Właściwość skryptu JSON
Typ magazynu danych Typ magazynu danych. Zewnętrzne Tak /
Połączenie Połączenie ze źródłowym magazynem danych. < połączenie usługi Azure Database for PostgreSQL > Tak połączenie
Connection type (Typ połączenia) Typ połączenia źródłowego. Azure Database for PostgreSQL Tak /
Korzystanie z zapytania Sposób odczytywania danych. Zastosuj tabelę , aby odczytać dane z określonej tabeli lub zastosować zapytanie , aby odczytywać dane przy użyciu zapytań. Tabela
Kwerenda
Tak • typeProperties (poniżej typeProperties ->source)
  -Schematu
  -Tabeli
•Kwerendy
Nazwy partycji Lista partycji fizycznych, które należy skopiować. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfTabularPartitionName się do klauzuli WHERE. < nazwy partycji > Nie. partitionNames
Nazwa kolumny partycji Nazwa kolumny źródłowej w liczbą całkowitą lub typu data/data/godzina (int, smallint, , bigintdate, timestamp without time zonetimestamp with time zone lub time without time zone), która będzie używana 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. < nazwy kolumn partycji > Nie. partitionColumnName
Górna granica partycji Maksymalna wartość kolumny partycji do skopiowania danych. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionUpbound się do klauzuli WHERE. < górna granica partycji > Nie. partitionUpperBound
Dolna granica partycji Minimalna wartość kolumny partycji do skopiowania danych. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionLowbound się do klauzuli WHERE. < dolna granica partycji > Nie. partitionLowerBound
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. • Nazwa
•Wartość
Nie. additionalColumns:
•Nazwa
•Wartość

Informacje o lokalizacji docelowej

Nazwa/nazwisko Opis Wartość Wymagania Właściwość skryptu JSON
Typ magazynu danych Typ magazynu danych. Zewnętrzne Tak /
Połączenie Połączenie z docelowym magazynem danych. < połączenie usługi Azure Database for PostgreSQL > Tak połączenie
Connection type (Typ połączenia) Typ połączenia docelowego. Azure Database for PostgreSQL Tak /
Tabela Docelowa tabela danych do zapisywania danych. < nazwa tabeli docelowej > Tak typeProperties (w obszarze typeProperties ->sink):
  -Schematu
  -Tabeli
Write, metoda Metoda używana do zapisywania danych w usłudze Azure Database for PostgreSQL. Kopiuj polecenie (ustawienie domyślne)
Wstawianie zbiorcze
Nie. writeMethod:
• KopiujPolecenia
• BulkInsert
Skrypt wstępny 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. < skrypt wstępny > Nie. preCopyScript
Limit czasu zapisu wsadowego Czas oczekiwania na zakończenie operacji wstawiania wsadowego przed upływem limitu czasu. zakres 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ę. integer
(wartość domyślna to 1000 000)
Nie. writeBatchSize