Udostępnij za pośrednictwem


Konfigurowanie płatka śniegu 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 Snowflake.

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

Następujące właściwości są obsługiwane w przypadku rozwiązania Snowflake na karcie Źródło działania kopiowania.

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

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

  • Typ magazynu danych: wybierz pozycję Zewnętrzne.
  • Połączenie: wybierz połączenie snowflake z listy połączeń. Jeśli połączenie nie istnieje, utwórz nowe połączenie snowflake, wybierając pozycję Nowy.
  • Baza danych: domyślna baza danych do użycia po nawiązaniu połączenia. Powinna to być istniejąca baza danych, dla której określona rola ma uprawnienia.
  • Użyj zapytania: możesz wybrać tabelę lub kwerendę jako zapytanie używane. Poniższa lista zawiera opis konfiguracji każdego ustawienia.
    • Tabela: wybierz tabelę w bazie danych z listy rozwijanej. Możesz też ręcznie zaznaczyć pozycję Edytuj , aby wprowadzić nazwę tabeli.
    • Zapytanie: określ zapytanie SQL, aby odczytywać dane z usługi Snowflake. Jeśli nazwy schematu, tabeli i kolumn zawierają małe litery, podaj identyfikator obiektu w zapytaniu, np. select * from "schema"."myTable".

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

  • Integracja magazynu: określ nazwę integracji magazynu utworzonej w aplikacji Snowflake. Aby zapoznać się z krokami wstępnymi dotyczącymi korzystania z integracji magazynu, zobacz Konfigurowanie integracji magazynu snowflake.

  • Dodatkowe opcje kopiowania snowflake: określ dodatkowe opcje kopiowania snowflake, które będą używane w instrukcji Snowflake COPY w celu załadowania danych. Dodatkowe opcje kopiowania są udostępniane jako słownik par klucz-wartość. Przykłady: MAX_FILE_SIZE, ZASTĄP. Aby uzyskać więcej informacji, zobacz Snowflake Copy Options (Opcje kopiowania snowflake).

    Zrzut ekranu przedstawiający dodatkowe opcje kopiowania płatka śniegu dla źródła.

  • Dodatkowe opcje formatu snowflake: określ dodatkowe opcje formatu Snowflake, które będą używane w instrukcji Snowflake COPY w celu załadowania danych. Dodatkowe opcje formatowania pliku udostępniane do polecenia COPY są udostępniane jako słownik par klucz-wartość. Przykłady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Aby uzyskać więcej informacji, zobacz Snowflake Format Type Options (Opcje typu formatu snowflake).

    Zrzut ekranu przedstawiający dodatkowe opcje formatu płatka śniegu dla źródła.

Bezpośrednia kopia z usługi Snowflake

Jeśli docelowy magazyn danych i format spełniają kryteria opisane w tej sekcji, możesz użyć działanie Kopiuj, aby bezpośrednio skopiować z usługi Snowflake do miejsca docelowego. Usługa sprawdza ustawienia i kończy się niepowodzeniem działania działanie Kopiuj, jeśli nie zostały spełnione następujące kryteria:

  • Po określeniu integracji usługi Storage w źródle: docelowy magazyn danych to usługa Azure Blob Storage, o której mowa na etapie zewnętrznym w rozwiązaniu Snowflake. Przed skopiowaniem danych należy wykonać następujące czynności:

    1. Utwórz połączenie usługi Azure Blob Storage dla docelowej usługi Azure Blob Storage z dowolnymi obsługiwanymi typami uwierzytelniania.

    2. Przyznaj co najmniej rolę Współautor danych obiektu blob usługi Storage jednostce usługi Snowflake w docelowej kontroli dostępu do usługi Azure Blob Storage (IAM).

  • Jeśli nie określisz integracji usługi Storage w źródle:

    Połączenie docelowe to usługa Azure Blob Storage z uwierzytelnianiem sygnatury dostępu współdzielonego. Jeśli chcesz bezpośrednio skopiować dane do usługi Azure Data Lake Storage Gen2 w następującym obsługiwanym formacie, możesz utworzyć połączenie usługi Azure Blob Storage z uwierzytelnianiem SAS względem konta usługi Azure Data Lake Storage Gen2, aby uniknąć używania kopii etapowej z usługi Snowflake.

  • Docelowy format danych to Parquet, DelimitedText lub JSON z następującymi konfiguracjami:

    • W przypadku formatu Parquet koder kompresji to None, Snappy lub Lzo.
    • W przypadku formatu DelimitedText :
      • Ogranicznik wiersza to \r\n lub dowolny pojedynczy znak.
      • Typ kompresji może mieć wartość None, gzip, bzip2 lub deflate.
      • Kodowanie jest pozostawione jako domyślne lub ustawione na UTF-8.
      • Znak cudzysłowu to Podwójny cudzysłów, Pojedynczy cudzysłów lub Bez znaku cudzysłowu.
    • W przypadku formatu JSON kopiowanie bezpośrednie obsługuje tylko przypadek, w przypadku którego źródłowa tabela Snowflake lub wynik zapytania zawiera tylko jedną kolumnę, a typ danych tej kolumny to VARIANT, OBJECT lub ARRAY.
      • Typ kompresji może mieć wartość None, gzip, bzip2 lub deflate.
      • Kodowanie jest pozostawione jako domyślne lub ustawione na UTF-8.
      • Wzorzec pliku w miejscu docelowym działania kopiowania jest pozostawiony jako domyślny lub ustawiony na Zestaw obiektów.
  • W źródle działania kopiowania nie określono dodatkowych kolumn .

  • Nie określono mapowania kolumn.

Kopia etapowa z usługi Snowflake

Jeśli docelowy magazyn danych lub format nie jest natywnie zgodny z poleceniem Snowflake COPY, jak wspomniano w ostatniej sekcji, włącz wbudowaną kopię etapową przy użyciu tymczasowego wystąpienia usługi Azure Blob Storage. Funkcja kopiowania etapowego zapewnia również lepszą przepływność. Usługa eksportuje dane z usługi Snowflake do magazynu przejściowego, a następnie kopiuje dane do miejsca docelowego, a na koniec czyści dane tymczasowe z magazynu przejściowego.

Aby użyć tej funkcji, utwórz połączenie usługi Azure Blob Storage, które odwołuje się do konta usługi Azure Storage jako przejściowego. Następnie przejdź do karty Ustawienia , aby skonfigurować ustawienia przejściowe. Musisz wybrać pozycję Zewnętrzne , aby skonfigurować przejściowe połączenie usługi Azure Blob Storage.

  • Po określeniu integracji usługi Storage w źródle tymczasowy przejściowy magazyn obiektów blob platformy Azure powinien być tymczasowym etapem zewnętrznym w usłudze Snowflake. Upewnij się, że utworzysz połączenie usługi Azure Blob Storage z dowolnym obsługiwanym uwierzytelnianiem i przyznasz co najmniej rolę Współautor danych obiektu blob usługi Storage do jednostki usługi Snowflake w przejściowej kontroli dostępu do usługi Azure Blob Storage (IAM). Ścieżka magazynu w obszarze Ustawienia przejściowe na karcie Ustawienia jest wymagana.

  • Jeśli nie określisz integracji usługi Storage ze źródłem, przejściowe połączenie usługi Azure Blob Storage musi używać uwierzytelniania sygnatury dostępu współdzielonego zgodnie z wymaganiami polecenia Snowflake COPY. Upewnij się, że udzielono odpowiedniego uprawnienia dostępu do rozwiązania Snowflake w przejściowym usłudze Azure Blob Storage. Aby dowiedzieć się więcej na ten temat, zobacz ten artykuł.

Element docelowy

Następujące właściwości są obsługiwane w przypadku rozwiązania Snowflake na karcie Miejsce docelowe działania kopiowania.

Zrzut ekranu przedstawiający kartę Miejsce docelowe.

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

  • Typ magazynu danych: wybierz pozycję Zewnętrzne.
  • Połączenie: wybierz połączenie snowflake z listy połączeń. Jeśli połączenie nie istnieje, utwórz nowe połączenie snowflake, wybierając pozycję Nowy.
  • Baza danych: domyślna baza danych do użycia po nawiązaniu połączenia. Powinna to być istniejąca baza danych, dla której określona rola ma uprawnienia.
  • Tabela: wybierz tabelę w bazie danych z listy rozwijanej. Możesz też ręcznie zaznaczyć pozycję Edytuj , aby wprowadzić nazwę tabeli.

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

  • Skrypt wstępny: określ skrypt działania kopiowania do wykonania przed zapisaniem danych w tabeli docelowej w każdym przebiegu. Za pomocą tej właściwości można wyczyścić wstępnie załadowane dane.

  • Integracja magazynu: określ nazwę integracji magazynu utworzonej w aplikacji Snowflake. Aby zapoznać się z krokami wstępnymi dotyczącymi korzystania z integracji magazynu, zobacz Konfigurowanie integracji magazynu snowflake.

  • Dodatkowe opcje kopiowania snowflake: określ dodatkowe opcje kopiowania snowflake, które będą używane w instrukcji Snowflake COPY w celu załadowania danych. Dodatkowe opcje kopiowania są udostępniane jako słownik par klucz-wartość. Przykłady: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Aby uzyskać więcej informacji, zobacz Snowflake Copy Options (Opcje kopiowania snowflake).

    Zrzut ekranu przedstawiający dodatkowe opcje kopiowania płatka śniegu dla miejsca docelowego.

  • Dodatkowe opcje formatu snowflake: określ dodatkowe opcje formatu Snowflake, które będą używane w instrukcji Snowflake COPY w celu załadowania danych. Dodatkowe opcje formatowania pliku udostępniane do polecenia COPY są udostępniane jako słownik par klucz-wartość. Przykłady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Aby uzyskać więcej informacji, zobacz Snowflake Format Type Options (Opcje typu formatu snowflake).

    Zrzut ekranu przedstawiający dodatkowe opcje formatu płatka śniegu dla miejsca docelowego.

Bezpośrednia kopia do usługi Snowflake

Jeśli źródłowy magazyn danych i format spełniają kryteria opisane w tej sekcji, możesz użyć działanie Kopiuj, aby bezpośrednio skopiować ze źródła do usługi Snowflake. Usługa sprawdza ustawienia i kończy się niepowodzeniem działania działanie Kopiuj, jeśli nie zostały spełnione następujące kryteria:

  • Po określeniu integracji usługi Storage w miejscu docelowym:

    Źródłowy magazyn danych to usługa Azure Blob Storage, o której mowa na etapie zewnętrznym w usłudze Snowflake. Przed skopiowaniem danych należy wykonać następujące czynności:

    1. Utwórz połączenie usługi Azure Blob Storage dla źródłowej usługi Azure Blob Storage z dowolnymi obsługiwanymi typami uwierzytelniania.

    2. Przyznaj co najmniej rolę Czytelnik danych obiektu blob usługi Storage jednostce usługi Snowflake w źródłowej kontroli dostępu do usługi Azure Blob Storage (IAM).

  • Jeśli nie określisz integracji usługi Storage w miejscu docelowym:

    Połączenie źródłowe to usługa Azure Blob Storage z uwierzytelnianiem sygnatury dostępu współdzielonego. Jeśli chcesz bezpośrednio skopiować dane z usługi Azure Data Lake Storage Gen2 w następującym obsługiwanym formacie, możesz utworzyć połączenie usługi Azure Blob Storage z uwierzytelnianiem SAS względem konta usługi Azure Data Lake Storage Gen2, aby uniknąć używania kopii etapowej do usługi Snowflake.

  • Format danych źródłowych to Parquet, DelimitedText lub JSON z następującymi konfiguracjami:

    • W przypadku formatu Parquet koder kompresji to None lub Snappy.

    • W przypadku formatu DelimitedText :

      • Ogranicznik wiersza to \r\n lub dowolny pojedynczy znak. Jeśli ogranicznik wierszy nie jest "\r\n", pierwszy wiersz jako nagłówek jest niezaznaczony i nie określono liczby wierszy Pomiń.
      • Typ kompresji może mieć wartość None, gzip, bzip2 lub deflate.
      • Kodowanie jest pozostawione jako domyślne lub ustawione na "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "BIG5", "EUC-JP", "EUC-KR", "GB18030", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-8"8859-9", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255".
      • Znak cudzysłowu to Podwójny cudzysłów, Pojedynczy cudzysłów lub Bez znaku cudzysłowu.
    • W przypadku formatu JSON kopiowanie bezpośrednie obsługuje tylko przypadek, że docelowa tabela Snowflake ma tylko jedną kolumnę, a typ danych tej kolumny to VARIANT, OBJECT lub ARRAY.

      • Typ kompresji może mieć wartość None, gzip, bzip2 lub deflate.
      • Kodowanie jest pozostawione jako domyślne lub ustawione na UTF-8.
      • Nie określono mapowania kolumn.
  • W źródle działanie Kopiuj:

    • Nie określono dodatkowych kolumn .
    • Jeśli źródło jest folderem, jest zaznaczona rekursywnie .
    • Prefiks, godzina rozpoczęcia (UTC) i godzina zakończenia (UTC) w obszarze Filtruj według ostatniej modyfikacji i Nie określono opcji Włącz odnajdywanie partycji.

Kopia etapowa w usłudze Snowflake

Jeśli źródłowy magazyn danych lub format nie jest natywnie zgodny z poleceniem Snowflake COPY, jak wspomniano w ostatniej sekcji, włącz wbudowaną kopię etapową przy użyciu tymczasowego wystąpienia usługi Azure Blob Storage. Funkcja kopiowania etapowego zapewnia również lepszą przepływność. Usługa automatycznie konwertuje dane w celu spełnienia wymagań dotyczących formatu danych snowflake. Następnie wywołuje polecenie COPY w celu załadowania danych do usługi Snowflake. Na koniec czyści dane tymczasowe z magazynu obiektów blob.

Aby użyć tej funkcji, utwórz połączenie usługi Azure Blob Storage, które odwołuje się do konta usługi Azure Storage jako przejściowego. Następnie przejdź do karty Ustawienia , aby skonfigurować ustawienia przejściowe. Musisz wybrać pozycję Zewnętrzne , aby skonfigurować przejściowe połączenie usługi Azure Blob Storage.

  • Po określeniu integracji usługi Storage w miejscu docelowym tymczasowy przejściowy magazyn obiektów blob platformy Azure powinien być tymczasowym etapem zewnętrznym w usłudze Snowflake. Upewnij się, że utworzono dla niego połączenie usługi Azure Blob Storage z obsługiwanym uwierzytelnianiem i przyznasz co najmniej rolę Czytelnik danych obiektu blob usługi Storage do jednostki usługi Snowflake w przejściowym kontrolce dostępu do usługi Azure Blob Storage (IAM). Ścieżka magazynu w obszarze Ustawienia przejściowe na karcie Ustawienia jest wymagana.

  • Jeśli nie określisz integracji usługi Storage w miejscu docelowym, przejściowe połączenie usługi Azure Blob Storage musi używać uwierzytelniania sygnatury dostępu współdzielonego zgodnie z wymaganiami polecenia Snowflake COPY.

Mapowanie

W obszarze Konfiguracja karty Mapowanie przejdź do tematu Konfigurowanie mapowań na karcie mapowania.

Ustawienia

W obszarze Konfiguracja karty Ustawienia przejdź do sekcji Konfigurowanie innych ustawień na karcie ustawienia.

Podsumowanie tabeli

Poniższe tabele zawierają więcej informacji o działaniu kopiowania w aplikacji Snowflake.

Źródło

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 > Tak połączenie
Baza danych Baza danych używana jako źródło. < baza danych > Tak database
Korzystanie z zapytania Sposób odczytywania danych z snowflake. •Stół
•Zapytanie
Nie. •stół
•zapytanie
Tabela Nazwa tabeli do odczytywania danych. < nazwa tabeli źródłowej> Tak schemat
table
Zapytanie Zapytanie SQL do odczytywania danych z usługi Snowflake. < nazwa zapytania źródłowego> Tak zapytanie
Integracja magazynu Określ nazwę integracji magazynu utworzonej w aplikacji Snowflake. Aby zapoznać się z krokami wstępnymi dotyczącymi korzystania z integracji magazynu, zobacz Konfigurowanie integracji magazynu snowflake. < integracja magazynu > Nie. storageIntegration
Dodatkowe opcje kopiowania snowflake Dodatkowe opcje kopiowania udostępniane jako słownik par klucz-wartość. Przykłady: MAX_FILE_SIZE, ZASTĄP. Aby uzyskać więcej informacji, zobacz Snowflake Copy Options (Opcje kopiowania snowflake). • Nazwa
•Wartość
Nie. additionalCopyOptions
Dodatkowe opcje formatu snowflake Dodatkowe opcje formatowania pliku udostępniane do polecenia COPY jako słownik par klucz-wartość. Przykłady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Aby uzyskać więcej informacji, zobacz Snowflake Format Type Options (Opcje typu formatu snowflake). • Nazwa
•Wartość
Nie. additionalFormatOptions

Element docelowy

Uwaga

Wystąpienia spoza platformy Azure Snowflake są obsługiwane dla źródła, ale tylko wystąpienia usługi Azure Snowflake są obecnie obsługiwane dla miejsc docelowych snowflake (nazywanych również ujściami w usłudze Azure Data Factory).

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 > Tak połączenie
Baza danych Baza danych, której używasz jako miejsca docelowego. < baza danych> Tak /
Tabela Docelowa tabela danych. < nazwa tabeli docelowej> Tak •schemat
•stół
Skrypt wstępny Zapytanie SQL dotyczące działanie Kopiuj do uruchomienia przed zapisaniem danych w usłudze Snowflake w każdym przebiegu. Użyj tej właściwości, aby wyczyścić wstępnie załadowane dane. < skrypt wstępny> NIE preCopyScript
Integracja magazynu Określ nazwę integracji magazynu utworzonej w aplikacji Snowflake. Aby zapoznać się z krokami wstępnymi dotyczącymi korzystania z integracji magazynu, zobacz Konfigurowanie integracji magazynu snowflake. < integracja magazynu > Nie. storageIntegration
Dodatkowe opcje kopiowania snowflake Dodatkowe opcje kopiowania udostępniane jako słownik par klucz-wartość. Przykłady: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Aby uzyskać więcej informacji, zobacz Snowflake Copy Options (Opcje kopiowania snowflake). • Nazwa
•Wartość
Nie. additionalCopyOptions
Dodatkowe opcje formatu snowflake Dodatkowe opcje formatowania pliku udostępnione do polecenia COPY podane jako słownik par klucz-wartość. Przykłady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Aby uzyskać więcej informacji, zobacz Snowflake Format Type Options (Opcje typu formatu snowflake). • Nazwa
•Wartość
Nie. additionalFormatOptions