Uso do Auto Loader com o Unity Catalog
O Auto Loader pode ingerir com segurança dados de locais externos configurados com o Unity Catalog. Para saber mais sobre como conectar com segurança o armazenamento com o Unity Catalog, consulte Conectar ao armazenamento de objetos na nuvem usando o Unity Catalog. Auto Loader depende da transmissão estruturada para processamento incremental; para obter recomendações e limitações, consulte Uso do site Unity Catalog com transmissão estruturada.
No Databricks Runtime 11.3 LTS e versões superiores, você pode usar Auto Loader com os modos de acesso padrão ou dedicado (anteriormente conhecidos como modos de acesso compartilhado e de usuário único).
O modo de listagem de diretórios é suportado pelo site default. O modo de notificação de arquivo só é compatível com o site compute com modo de acesso dedicado.
Especifique os locais para o recurso Auto Loader no Unity Catalog .
O modelo de segurança do Unity Catalog pressupõe que todos os locais de armazenamento referenciados em uma carga de trabalho serão gerenciados pelo Unity Catalog. Databricks recomenda sempre armazenar informações de ponto de verificação e evolução do esquema em locais de armazenamento gerenciados pelo Unity Catalog. Unity Catalog não permite aninhar arquivos de ponto de verificação ou inferência de esquema e evolução no diretório da tabela.
Ingerir dados do armazenamento cloud usando Unity Catalog
Os exemplos a seguir pressupõem que o usuário que executa o comando tenha permissões READ FILES no local externo, privilégios de proprietário nas tabelas de destino e as seguintes configurações e concessões.
Localização de armazenamento | Conceder |
|---|---|
|
|
|
|
Use Auto Loader para carregar em um Unity Catalog ger tabela
Os exemplos a seguir demonstram como usar Auto Loader para inserir dados em uma tabela de gerenciamento Unity Catalog .
- Python
- SQL
checkpoint_path = "gs://dev-bucket/_checkpoint/dev_table"
(spark.readStream
.format("cloudFiles")
.option("cloudFiles.format", "json")
.option("cloudFiles.schemaLocation", checkpoint_path)
.load("gs://autoloader-source/json-data")
.writeStream
.option("checkpointLocation", checkpoint_path)
.trigger(availableNow=True)
.toTable("dev_catalog.dev_database.dev_table"))
CREATE OR REFRESH STREAMING TABLE dev_catalog.dev_database.dev_table
AS SELECT * FROM STREAM read_files(
'gs://autoloader-source/json-data',
format => 'json'
);
Quando você usa read_files em uma instrução CREATE STREAMING TABLE dentro de um pipeline LakeFlow Spark Declarative, os locais de checkpoint e schema são gerenciados automaticamente.
A autenticação para GCS é gerenciada por meio do local externo Unity Catalog configurado para o caminho GCS . Você deve ter privilégios READ FILES no local externo. Consulte Conectar-se a um local externo do Google Cloud Storage (GCS).
Para usar o modo de notificação de arquivos para uma descoberta mais rápida de arquivos, forneça uma credencial de serviço ou as credenciais de uma conta do Google. Consulte as opções específicas do Google.