Format Avro w usługach Azure Data Factory i Synapse Analytics
DOTYCZY: Azure Data Factory Azure Synapse Analytics
Napiwek
Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !
Postępuj zgodnie z tym artykułem, gdy chcesz przeanalizować pliki Avro lub zapisać dane w formacie Avro.
Format Avro jest obsługiwany dla następujących łączników: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage i SFTP.
Właściwości zestawu danych
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych Avro.
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type zestawu danych musi być ustawiona na Avro. | Tak |
lokalizacja | Ustawienia lokalizacji plików. Każdy łącznik oparty na plikach ma własny typ lokalizacji i obsługiwane właściwości w obszarze location . Zobacz szczegóły w artykule dotyczącym łącznika —> sekcja Właściwości zestawu danych. |
Tak |
avroCompressionCodec | Koder koder-dekoder kompresji używany podczas zapisywania w plikach Avro. Podczas odczytywania z plików Avro usługa automatycznie określa koder-dekoder kompresji na podstawie metadanych pliku. Obsługiwane typy to "none" (ustawienie domyślne), "deflate", "snappy". Uwaga obecnie działanie Kopiuj nie obsługuje przystawki podczas odczytu/zapisu plików Avro. |
Nie. |
Uwaga
Białe znaki w nazwie kolumny nie są obsługiwane w przypadku plików Avro.
Poniżej przedstawiono przykład zestawu danych Avro w usłudze Azure Blob Storage:
{
"name": "AvroDataset",
"properties": {
"type": "Avro",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder",
},
"avroCompressionCodec": "snappy"
}
}
}
Właściwości działania kopiowania
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło i ujście Avro.
Avro jako źródło
Następujące właściwości są obsługiwane w sekcji działanie kopiowania *źródło* .
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na AvroSource. | Tak |
storeSettings | Grupa właściwości dotyczących odczytywania danych z magazynu danych. Każdy łącznik oparty na plikach ma własne obsługiwane ustawienia odczytu w obszarze storeSettings . Zobacz szczegóły w artykule dotyczącym łącznika —> sekcja właściwości działanie Kopiuj. |
Nie. |
Avro jako ujście
Następujące właściwości są obsługiwane w sekcji działanie kopiowania *ujście*.
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na AvroSink. | Tak |
formatUstawienia | Grupa właściwości. Zapoznaj się z poniższą tabelą ustawień zapisu Avro. | Nie. |
storeSettings | Grupa właściwości dotyczących sposobu zapisywania danych w magazynie danych. Każdy łącznik oparty na plikach ma własne obsługiwane ustawienia zapisu w obszarze storeSettings . Zobacz szczegóły w artykule dotyczącym łącznika —> sekcja właściwości działanie Kopiuj. |
Nie. |
Obsługiwane ustawienia zapisu Avro w obszarze formatSettings
:
Właściwości | Opis | Wymagania |
---|---|---|
type | Typ formatUstawienia musi być ustawiony na AvroWriteSettings. | Tak |
maxRowsPerFile | Podczas zapisywania danych w folderze można wybrać zapisywanie w wielu plikach i określić maksymalną liczbę wierszy na plik. | Nie. |
fileNamePrefix | Dotyczy konfiguracji maxRowsPerFile .Określ prefiks nazwy pliku podczas zapisywania danych w wielu plikach, co spowodowało następujący wzorzec: <fileNamePrefix>_00000.<fileExtension> . Jeśli nie zostanie określony, prefiks nazwy pliku zostanie wygenerowany automatycznie. Ta właściwość nie ma zastosowania, gdy źródło jest magazynem opartym na plikach lub magazynem danych z włączoną opcją partycji. |
Nie. |
Właściwości przepływu mapowania danych
W przepływach mapowania danych można odczytywać i zapisywać dane w formacie avro w następujących magazynach danych: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 i SFTP oraz odczytywać format avro w usłudze Amazon S3.
Właściwości źródła
W poniższej tabeli wymieniono właściwości obsługiwane przez źródło avro. Te właściwości można edytować na karcie Opcje źródła.
Nazwa/nazwisko | opis | Wymagania | Dozwolone wartości | Właściwość skryptu przepływu danych |
---|---|---|---|---|
Ścieżki z symbolami wieloznacznymi | Wszystkie pliki pasujące do ścieżki wieloznacznej zostaną przetworzone. Zastępuje folder i ścieżkę pliku ustawioną w zestawie danych. | nie | Ciąg[] | symbole wieloznacznePaths |
Ścieżka główna partycji | W przypadku danych plików podzielonych na partycje można wprowadzić ścieżkę katalogu głównego partycji, aby odczytywać foldery podzielone na partycje jako kolumny | nie | String | partitionRootPath |
Lista plików | Czy źródło wskazuje plik tekstowy, który wyświetla listę plików do przetworzenia | nie | true lub false |
fileList |
Kolumna do przechowywania nazwy pliku | Utwórz nową kolumnę z nazwą pliku źródłowego i ścieżką | nie | String | rowUrlColumn |
Po zakończeniu | Usuń lub przenieś pliki po przetworzeniu. Ścieżka pliku rozpoczyna się od katalogu głównego kontenera | nie | Usuń: true lub false Ruszać: ['<from>', '<to>'] |
przeczyszczanie plików moveFiles |
Filtruj według ostatniej modyfikacji | Wybierz filtrowanie plików w oparciu o czas ich ostatniej zmiany | nie | Sygnatura czasowa | modifiedAfter modifiedBefore |
Zezwalaj na brak znalezionych plików | Jeśli wartość true, błąd nie jest zgłaszany, jeśli nie znaleziono żadnych plików | nie | true lub false |
ignoreNoFilesFound |
Właściwości ujścia
W poniższej tabeli wymieniono właściwości obsługiwane przez ujście avro. Te właściwości można edytować na karcie Ustawienia .
Nazwa/nazwisko | opis | Wymagania | Dozwolone wartości | Właściwość skryptu przepływu danych |
---|---|---|---|---|
Wyczyść folder | Jeśli folder docelowy zostanie wyczyszczone przed zapisem | nie | true lub false |
truncate |
Opcja Nazwa pliku | Format nazewnictwa zapisanych danych. Domyślnie jeden plik na partycję w formacie part-#####-tid-<guid> |
nie | Wzorzec: ciąg Na partycję: Ciąg[] Jako dane w kolumnie: Ciąg Dane wyjściowe do pojedynczego pliku: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Cudzysłowuj wszystko | Ujęć wszystkie wartości w cudzysłowie | nie | true lub false |
quoteAll |
Obsługa typów danych
Działanie kopiowania
Złożone typy danych Avro nie są obsługiwane (rekordy, wyliczenia, tablice, mapy, związki i stałe) w działaniu kopiowania.
Przepływy danych
Podczas pracy z plikami Avro w przepływach danych można odczytywać i zapisywać złożone typy danych, ale najpierw wyczyścić schemat fizyczny z zestawu danych. W przepływach danych można ustawić projekcję logiczną i utworzyć kolumny, które są złożonymi strukturami, a następnie automatycznie mapować te pola na plik Avro.