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.
Wymagane są nastę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).
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).
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:
Utwórz połączenie usługi Azure Blob Storage dla docelowej usługi Azure Blob Storage z dowolnymi obsługiwanymi typami uwierzytelniania.
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.
Wymagane są nastę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).
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).
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:
Utwórz połączenie usługi Azure Blob Storage dla źródłowej usługi Azure Blob Storage z dowolnymi obsługiwanymi typami uwierzytelniania.
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 |