Udostępnij za pośrednictwem


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.