Udostępnij przez


Przekształcenie agregujące

Dotyczy:SQL Server SSIS Integration Runtime w ramach usługi Azure Data Factory

Przekształcenie agregujące stosuje funkcje agregujące, takie jak Średnia, do wartości kolumn i kopiuje wyniki do danych wyjściowych przekształcenia. Oprócz funkcji agregujących przekształcenie udostępnia klauzulę GROUP BY, której można użyć do określania grup do agregowania.

Operations

Transformacja Agregacja obsługuje następujące operacje.

Operation Description
Grupuj według Dzieli zestawy danych na grupy. Kolumny dowolnego typu danych mogą służyć do grupowania. Aby uzyskać więcej informacji, zobacz GROUP BY (Transact-SQL).
Suma Sumuje wartości w kolumnie. Można sumować tylko kolumny z typami danych liczbowych. Aby uzyskać więcej informacji, zobacz SUM (Transact-SQL).
Average Zwraca średnią wartości w kolumnie. Tylko kolumny z typami danych liczbowych mogą być uśredniane. Aby uzyskać więcej informacji, zobacz AVG (Transact-SQL).
Liczba Zwraca liczbę elementów w grupie. Aby uzyskać więcej informacji, zobacz COUNT (Transact-SQL).
Zlicz unikatowe Zwraca liczbę unikatowych wartości niebędących null w grupie.
Minimalna wartość Zwraca wartość minimalną w grupie. Aby uzyskać więcej informacji, zobacz MIN (Transact-SQL). W przeciwieństwie do funkcji Transact-SQL MIN ta operacja może być używana tylko z typami danych liczbowych, dat i godzin.
Maximum Zwraca wartość maksymalną w grupie. Aby uzyskać więcej informacji, zobacz MAX (Transact-SQL). W przeciwieństwie do funkcji Transact-SQL MAX ta operacja może być używana tylko z typami danych liczbowych, dat i godzin.

Transformacja Agregacji obsługuje wartości null w taki sam sposób jak silnik relacyjnej bazy danych SQL Server. Zachowanie jest definiowane w standardzie SQL-92. Obowiązują następujące zasady:

  • W klauzuli GROUP BY wartości null są traktowane jak inne wartości kolumn. Jeśli kolumna grupowania zawiera więcej niż jedną wartość null, wartości null są umieszczane w jednej grupie.

  • W funkcjach COUNT (nazwa kolumny) i COUNT (nazwa kolumny DISTINCT) wartości null są ignorowane, a wynik wyklucza wiersze zawierające wartości null w nazwanej kolumnie.

  • W funkcji COUNT (*) wszystkie wiersze są zliczane, w tym wiersze z wartościami null.

Duże liczby w agregacjach

Kolumna może zawierać wartości liczbowe, które wymagają szczególnej uwagi ze względu na ich dużą wartość lub wymagania dotyczące precyzji. Przekształcenie agregacji zawiera właściwość IsBig, którą można ustawić dla kolumn wyjściowych w celu wywołania specjalnej obsługi dużych liczb lub liczb o wysokiej precyzji. Jeśli wartość kolumny może przekroczyć 4 miliardy lub wymagana jest precyzja poza typem danych zmiennoprzecinkowych, parametr IsBig powinien mieć wartość 1.

Ustawienie właściwości IsBig na 1 wpływa na dane wyjściowe przekształcenia agregacji w następujący sposób:

  • Typ danych DT_R8 jest używany zamiast typu danych DT_R4.

  • Liczba wyników jest przechowywana jako typ danych DT_UI8.

  • Unikatowe wyniki liczby są przechowywane jako typ danych DT_UI4.

Uwaga / Notatka

Nie można ustawić wartości IsBig na 1 w kolumnach używanych w operacjach GROUP BY, Maximum lub Minimum.

Zagadnienia dotyczące wydajności

Przekształcenie Agregacja zawiera zestaw właściwości, które można ustawić w celu zwiększenia wydajności transformacji.

  • Podczas wykonywania operacji Grupuj według ustaw właściwości Klucze składnika lub KluczeSkalowanie składnika i danych wyjściowych. Za pomocą kluczy można określić dokładną liczbę kluczy, które ma obsłużyć transformacja. (W tym kontekście klucze odnoszą się do liczby grup, które mają wynikać z operacji Grupuj według ). Za pomocą funkcji KeysScale można określić przybliżoną liczbę kluczy. Po określeniu odpowiedniej wartości dla kluczy lub skalowania kluczy zwiększa się wydajność, ponieważ transformacja może przydzielić odpowiednią pamięć dla danych buforujących transformację.

  • Podczas wykonywania operacji Distinct count ustaw właściwości CountDistinctKeys lub CountDistinctScale składnika. Za pomocą funkcji CountDistinctKeys można określić dokładną liczbę kluczy, które ma obsługiwać transformacja dla operacji zliczania unikatowych wartości. (W tym kontekście CountDistinctKeys odnosi się do liczby unikatowych wartości, które mają wynikać z operacji liczba unikatowa ). Za pomocą CountDistinctScale można określić przybliżoną liczbę kluczy dla operacji liczby unikatowej. Po określeniu odpowiedniej wartości dla CountDistinctKeys lub CountDistinctScale poprawiasz wydajność, ponieważ transformacja może przydzielić odpowiednią ilość pamięci na cache danych przekształcenia.

Konfiguracja przekształcenia agregowanego

Przekształcenie agregacji można skonfigurować na poziomach transformacji, danych wyjściowych i kolumn.

  • Na poziomie transformacji należy skonfigurować przekształcenie agregacji dla lepszej wydajności, określając następujące wartości:

    • Liczba grup oczekiwanych z operacji Grupuj według.

    • Liczba unikatowych wartości, które mają wynikać z operacji zliczaj unikatowe .

    • Wartość procentowa, o jaką pamięć można rozszerzyć podczas agregacji.

    Przekształcenie agregacji można również skonfigurować tak, aby wygenerować ostrzeżenie zamiast niepowodzenia, gdy wartość dzielnika wynosi zero.

  • Na poziomie wyjścia należy skonfigurować przekształcenie Agregujące dla zwiększenia wydajności, określając liczbę grup, które mają wynikać z operacji Grupuj według. Transformacja Agregacja obsługuje wiele danych wyjściowych, a każdy z nich można skonfigurować inaczej.

  • Na poziomie kolumny należy określić następujące wartości:

    • Agregacja wykonywana przez kolumnę.

    • Opcje porównania agregacji.

Możesz również skonfigurować przekształcenie agregujące pod kątem wydajności, określając następujące wartości:

  • Liczba grup, które mają wynikać z operacji Grupuj według w kolumnie.

  • Liczba unikatowych wartości, które mają wynikać z operacji Count distinct w kolumnie.

Możesz również zidentyfikować kolumny jako IsBig, jeśli kolumna zawiera duże wartości liczbowe lub wartości liczbowe o wysokiej precyzji.

Przekształcenie agregujące jest asynchroniczne, co oznacza, że nie przetwarza ani nie publikuje danych wiersz po wierszu. Zamiast tego używa całego zestawu wierszy, wykonuje swoje grupowania i agregacje, a następnie publikuje wyniki.

Ta transformacja nie przechodzi przez żadne kolumny, ale tworzy nowe kolumny w przepływie danych dla publikowanych danych. Do danych wyjściowych przekształcenia są kopiowane tylko kolumny wejściowe, do których mają zastosowanie funkcje agregujące, lub kolumny wejściowe używane do grupowania. Na przykład dane wejściowe przekształcenia agregacji mogą zawierać trzy kolumny: CountryRegion, City i Population. Grupowanie przekształceń według kolumny CountryRegion i stosowanie funkcji Sum do kolumny Population. W związku z tym dane wyjściowe nie zawierają kolumny City (Miasto ).

Można również dodać wiele danych wyjściowych do transformacji Agregacja i każdą agregację kierować do odpowiednich danych wyjściowych. Na przykład, jeśli przekształcenie Agregacja stosuje funkcje Sumy i Średniej, każda agregacja może być kierowana do różnych danych wyjściowych.

Można zastosować wiele agregacji do jednej kolumny wejściowej. Jeśli na przykład chcesz uzyskać sumę i średnią wartości dla kolumny wejściowej o nazwie Sales, możesz skonfigurować przekształcenie tak, aby zastosować zarówno funkcje Sum, jak i Average do kolumny Sales .

Przekształcenie agregujące ma jedno wejście i co najmniej jedno wyjście. Nie obsługuje wyjścia błędów.

Właściwości można ustawić za pomocą projektanta usług SSIS lub programowo.

Okno dialogowe edytora zaawansowanego odzwierciedla właściwości, które można ustawić programowo. Aby uzyskać więcej informacji o właściwościach, które można ustawić w oknie dialogowym edytora zaawansowanego lub programowo, kliknij jeden z następujących tematów:

Aby uzyskać więcej informacji na temat ustawiania właściwości, kliknij jeden z następujących tematów:

Agregowanie wartości w zestawie danych przy użyciu przekształcenia agregacji

Edytor transformacji agregującej (zakładka Agregacje)

Użyj karty Agregacje w oknie dialogowym Edytora transformacji agregujących, aby określić kolumny do agregacji oraz właściwości agregacji. Można zastosować wiele agregacji. Ta transformacja nie generuje wyjścia błędu.

Uwaga / Notatka

Opcje liczby kluczy, skalowania kluczy, liczby unikatowych kluczy i odrębnej skali kluczy mają zastosowanie na poziomie składnika, gdy jest określony na karcie Zaawansowane , na poziomie danych wyjściowych, gdy jest określony w zaawansowanym wyświetlaniu karty Agregacje , a na poziomie kolumny, gdy jest określony na liście kolumn w dolnej części karty Agregacje .

W przekształceniu Agregacja Klucze i Skalowanie kluczy odnoszą się do liczby grup, które mają wynikać z operacji Group by. Zlicz unikatowe klucze i Zlicz unikatową skalę odwołują się do liczby unikatowych wartości, które mają wynikać z operacji distinct count .

Opcje

Zaawansowane/Podstawowe
Wyświetlanie lub ukrywanie opcji konfigurowania wielu agregacji dla wielu danych wyjściowych. Domyślnie opcje zaawansowane są ukryte.

Nazwa agregacji
Na ekranie Zaawansowane wpisz przyjazną nazwę agregacji.

Grupuj według kolumn
Na ekranie Zaawansowane wybierz kolumny do grupowania przy użyciu listy Dostępne kolumny wejściowe , jak opisano poniżej.

Skala kluczy
Na ekranie Zaawansowane opcjonalnie określ przybliżoną liczbę kluczy, które agregacja może zapisywać. Domyślnie wartość tej opcji jest nieokreślona. Jeśli ustawiono zarówno właściwości Skalowanie kluczy , jak i Klucze , pierwszeństwo ma wartość Klucze .

Wartość Description
Nieokreślony Właściwość Skalowanie kluczy nie jest używana.
Low Agregacja może zapisywać około 500 000 kluczy.
Średni Agregacja może zapisywać około 5000 000 kluczy.
High Agregacja może zapisywać więcej niż 25 000 000 kluczy.

Klucze
Na ekranie Zaawansowane opcjonalnie określ dokładną liczbę kluczy, które agregacja może zapisywać. Jeśli określono zarówno skalę klucza , jak i klucze , pierwszeństwo ma klucze .

Dostępne Kolumny Wejściowe
Wybierz z listy dostępnych kolumn wejściowych przy użyciu pól wyboru w tej tabeli.

Kolumna wejściowa
Wybierz z listy dostępnych kolumn wejściowych.

alias danych wyjściowych
Wpisz alias dla każdej kolumny. Wartość domyślna to nazwa kolumny wejściowej; można jednak wybrać dowolną unikatową, opisową nazwę.

Operacja
Wybierz jedną z listy dostępnych operacji, korzystając z poniższej tabeli jako przewodnika.

Operation Description
Grupuj wg Dzieli zestawy danych na grupy. Kolumny z dowolnym typem danych mogą służyć do grupowania. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą GROUP BY.
Sum Sumuje wartości w kolumnie. Można sumować tylko kolumny z typami danych liczbowych. Aby uzyskać więcej informacji, zobacz SUM.
średnia Zwraca średnią wartości w kolumnie. Tylko kolumny z typami danych liczbowych mogą być uśredniane. Aby uzyskać więcej informacji, zobacz AVG.
Liczba Zwraca liczbę elementów w grupie. Aby uzyskać więcej informacji, zobacz COUNT.
CountDistinct Zwraca liczbę unikatowych wartości niebędących null w grupie. Aby uzyskać więcej informacji, zobacz COUNT i Distinct.
Minimum Zwraca wartość minimalną w grupie. Ograniczone do typów danych liczbowych.
maksymalna Zwraca wartość maksymalną w grupie. Ograniczone do typów danych liczbowych.

Flagi porównania
Jeśli wybierzesz Grupuj według, użyj pól wyboru, aby kontrolować, jak przekształcenie wykonuje porównanie. Aby uzyskać informacje na temat opcji porównania ciągów, zobacz Porównanie danych ciągów.

Zlicz unikalną skalę
Opcjonalnie określ przybliżoną liczbę unikatowych wartości, które może zapisywać agregacja. Domyślnie wartość tej opcji jest nieokreślona. Jeśli określono obie wartości CountDistinctScale i CountDistinctKeys , pierwszeństwo ma countDistinctKeys .

Wartość Description
Nieokreślony Właściwość CountDistinctScale nie jest używana.
Low Agregacja może zapisywać około 500 000 unikatowych wartości.
Średni Agregacja może zapisywać około 5000 000 unikatowych wartości.
High Agregacja może zapisywać więcej niż 25 000 000 unikatowych wartości.

Zlicz unikatowe klucze
Opcjonalnie określ dokładną liczbę unikatowych wartości, które może zapisywać agregacja. Jeśli określono obie wartości CountDistinctScale i CountDistinctKeys , pierwszeństwo ma countDistinctKeys .

Edytor Przekształcenia Agregacji (Zakładka Zaawansowana)

Użyj karty Zaawansowane okna dialogowego Edytora przekształcania agregacji , aby ustawić właściwości składnika, określić agregacje i ustawić właściwości kolumn wejściowych i wyjściowych.

Uwaga / Notatka

Opcje liczby kluczy, skalowania kluczy, liczby unikatowych kluczy i odrębnej skali kluczy mają zastosowanie na poziomie składnika, gdy jest określony na karcie Zaawansowane , na poziomie danych wyjściowych, gdy jest określony w zaawansowanym wyświetlaniu karty Agregacje , a na poziomie kolumny, gdy jest określony na liście kolumn w dolnej części karty Agregacje .

W przekształceniu Agregacja Klucze i Skalowanie kluczy odnoszą się do liczby grup, które mają wynikać z operacji Group by. Zlicz unikatowe klucze i Zlicz unikatową skalę odwołują się do liczby unikatowych wartości, które mają wynikać z operacji distinct count .

Opcje

Skala kluczy
Opcjonalnie określ przybliżoną liczbę kluczy, których oczekuje agregacja. Przekształcenie używa tych informacji do optymalizacji początkowego rozmiaru pamięci podręcznej. Domyślnie wartość tej opcji jest nieokreślona. Jeśli określono zarówno skalę kluczy , jak i liczbę kluczy , pierwszeństwo ma liczba kluczy .

Wartość Description
Nieokreślony Właściwość skalowania kluczy nie jest używana.
Low Agregacja może zapisywać około 500 000 kluczy.
Średni Agregacja może zapisywać około 5000 000 kluczy.
High Agregacja może zapisywać więcej niż 25 000 000 kluczy.

Liczba kluczy
Opcjonalnie określ dokładną liczbę kluczy, których oczekuje agregacja. Przekształcenie używa tych informacji do optymalizacji początkowego rozmiaru pamięci podręcznej. Jeśli określono zarówno skalę kluczy , jak i liczbę kluczy , pierwszeństwo ma liczba kluczy .

Zlicz unikatową skalę
Opcjonalnie określ przybliżoną liczbę unikatowych wartości, które może zapisywać agregacja. Domyślnie wartość tej opcji jest nieokreślona. Jeśli określono zarówno Count distinct scale (Liczba unikatowych wartości) jak i Count distinct keys (Liczba unikatowych kluczy), Count distinct keys (Liczba unikatowych kluczy) ma pierwszeństwo.

Wartość Description
Nieokreślony Właściwość CountDistinctScale nie jest używana.
Low Agregacja może zapisywać około 500 000 unikatowych wartości.
Średni Agregacja może zapisywać około 5000 000 unikatowych wartości.
High Agregacja może zapisywać więcej niż 25 000 000 unikatowych wartości.

Zlicz unikatowe klucze
Opcjonalnie określ dokładną liczbę unikatowych wartości, które może zapisywać agregacja. Jeśli określono zarówno Count distinct scale, jak i Count distinct keys, Count distinct keys ma pierwszeństwo.

Współczynnik automatycznego rozszerzania
Użyj wartości z zakresu od 1 do 100, aby określić wartość procentową, za pomocą której można rozszerzyć pamięć podczas agregacji. Domyślnie wartość tej opcji to 25%.

Zobacz też

przepływ danych
Przekształcenia usługi integracyjne