Udostępnij za pośrednictwem


Ł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:

  1. Na pasku bocznym kliknij pozycję Utwórz > zapytanie.

  2. Na pasku menu edytora SQL wybierz usługę SQL Warehouse.

  3. 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ład abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>.

  4. 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.

  1. 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
    );
    
  2. 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.

  1. Na pasku bocznym kliknij pozycję Utwórz > zapytanie.

  2. Na pasku menu edytora SQL wybierz usługę SQL Warehouse i upewnij się, że usługa SQL Warehouse jest uruchomiona.

  3. 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ę od FILEFORMAT. W takim przypadku opcja instruuje usługę header Azure Databricks, aby traktować pierwszy wiersz pliku CSV jako nagłówek, a inferSchema opcje instruują usługę Azure Databricks, aby automatycznie określić typ danych każdego pola w pliku CSV.

  4. 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

  1. Na pasku bocznym kliknij pozycję Utwórz > zapytanie.

  2. Wybierz usługę SQL Warehouse i upewnij się, że usługa SQL Warehouse jest uruchomiona.

  3. Wklej następujący kod:

    DROP TABLE <catalog-name>.<schema-name>.<table-name>;
    
  4. Kliknij Uruchom.

  5. Umieść kursor na karcie dla tego zapytania, a następnie kliknij ikonę X .

Usuwanie zapytań w edytorze SQL

  1. Na pasku bocznym kliknij pozycję Edytor SQL.
  2. Na pasku menu edytora SQL umieść kursor na karcie dla każdego zapytania utworzonego na potrzeby tego samouczka, a następnie kliknij ikonę X .

Dodatkowe zasoby