Ładowanie danych przy użyciu funkcji COPY INTO z jednostką usługi
W tym artykule opisano sposób ładowania COPY INTO
danych z kontenera usługi Azure Data Lake Storage Gen2 (ADLS Gen2) na koncie platformy Azure do tabeli w usłudze Databricks SQL.
W krokach opisanych w tym artykule założono, że administrator skonfigurował usługę SQL Warehouse do używania jednostki usługi Azure Databricks w celu uzyskania dostępu do plików źródłowych w usłudze ADLS Gen2. Jeśli administrator skonfigurował zewnętrzną lokalizację wykazu aparatu Unity przy użyciu poświadczeń magazynu, zobacz Zamiast tego załaduj dane przy użyciu funkcji COPY INTO z woluminami wykazu aparatu Unity lub lokalizacjami zewnętrznymi . Jeśli administrator udzielił Ci tymczasowych poświadczeń (tokenu SAS obiektu blob), wykonaj kroki opisane w temacie Ładowanie danych przy użyciu funkcji COPY INTO z tymczasowymi poświadczeniami .
Usługa Databricks zaleca użycie polecenia COPY INTO w celu przyrostowego i zbiorczego ładowania danych za pomocą usługi Databricks SQL.
Uwaga
COPY INTO
dobrze sprawdza się w przypadku źródeł danych, które zawierają tysiące plików. Usługa Databricks zaleca użycie automatycznego modułu ładującego do ładowania milionów plików, który nie jest obsługiwany w usłudze Databricks SQL.
Zanim rozpoczniesz
Przed załadowaniem danych do usługi Azure Databricks upewnij się, że masz następujące elementy:
- Dostęp do danych w usłudze ADLS Gen2. Administrator musi najpierw wykonać kroki opisane w temacie Konfigurowanie dostępu do danych na potrzeby pozyskiwania , aby usługa Databricks SQL Warehouse mogła odczytywać pliki źródłowe.
- Usługa Databricks SQL Warehouse.
- Uprawnienie Może zarządzać w usłudze SQL Warehouse.
- Ścieżka do danych w kontenerze usługi ADLS Gen2.
- Znajomość interfejsu użytkownika sql usługi Databricks.
Krok 1. Potwierdzenie dostępu do danych w magazynie w chmurze
Aby potwierdzić, że masz dostęp do odpowiednich danych w magazynie obiektów w chmurze, wykonaj następujące czynności:
Na pasku bocznym kliknij pozycję Utwórz > zapytanie.
Na pasku menu edytora SQL wybierz usługę SQL Warehouse.
W edytorze SQL wklej następujący kod:
select * from csv.<path>
Zastąp ciąg
<path>
ścieżką kontenera usługi ADLS Gen2 otrzymaną od administratora. Na przykładabfss://<container>@<storage-account>.dfs.core.windows.net/<folder>
.Kliknij Uruchom.
Krok 2. Tworzenie tabeli
W tym kroku opisano sposób tworzenia tabeli w obszarze roboczym usługi Azure Databricks w celu przechowywania danych przychodzących.
W edytorze SQL wklej następujący kod:
CREATE TABLE <catalog_name>.<schema_name>.<table_name> ( tpep_pickup_datetime TIMESTAMP, tpep_dropoff_datetime TIMESTAMP, trip_distance DOUBLE, fare_amount DOUBLE, pickup_zip INT, dropoff_zip INT );
Kliknij Uruchom.
Krok 3. Ładowanie danych z magazynu w chmurze do tabeli
W tym kroku opisano sposób ładowania danych z kontenera usługi ADLS Gen2 do tabeli w obszarze roboczym usługi Azure Databricks.
Na pasku bocznym kliknij pozycję Utwórz > zapytanie.
Na pasku menu edytora SQL wybierz usługę SQL Warehouse i upewnij się, że usługa SQL Warehouse jest uruchomiona.
W edytorze SQL wklej następujący kod. W tym kodzie zastąp:
<container>
z nazwą kontenera usługi ADLS Gen2 na koncie magazynu.<storage-account>
przy użyciu nazwy konta magazynu usługi ADLS Gen2.<folder>
z nazwą folderu zawierającego dane.<blob-sas-token>
z wartością tokenu SAS obiektu blob otrzymanego od administratora.
COPY INTO <catalog-name>.<schema-name>.<table-name> FROM 'abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>' FILEFORMAT = CSV FORMAT_OPTIONS ( 'header' = 'true', 'inferSchema' = 'true' ); SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
Uwaga
FORMAT_OPTIONS
różni się odFILEFORMAT
. W takim przypadku opcja instruuje usługęheader
Azure Databricks, aby traktować pierwszy wiersz pliku CSV jako nagłówek, ainferSchema
opcje instruują usługę Azure Databricks, aby automatycznie określić typ danych każdego pola w pliku CSV.Kliknij Uruchom.
Uwaga
Jeśli klikniesz przycisk Uruchom ponownie, żadne nowe dane nie są ładowane do tabeli. Dzieje się tak, ponieważ
COPY INTO
polecenie przetwarza tylko to, co uważa za nowe dane.
Czyszczenie
Jeśli nie chcesz już ich przechowywać, możesz wyczyścić skojarzone zasoby w obszarze roboczym.
Usuwanie tabel
Na pasku bocznym kliknij pozycję Utwórz > zapytanie.
Wybierz usługę SQL Warehouse i upewnij się, że usługa SQL Warehouse jest uruchomiona.
Wklej następujący kod:
DROP TABLE <catalog-name>.<schema-name>.<table-name>;
Kliknij Uruchom.
Umieść kursor na karcie dla tego zapytania, a następnie kliknij ikonę X .
Usuwanie zapytań w edytorze SQL
- Na pasku bocznym kliknij pozycję Edytor SQL.
- Na pasku menu edytora SQL umieść kursor na karcie dla każdego zapytania utworzonego na potrzeby tego samouczka, a następnie kliknij ikonę X .