Conecte-se ao Google Cloud Storage

Este artigo descreve como configurar uma conexão do Databricks para ler e gravar tabelas e dados armazenados no Google Cloud Storage (GCS).

Para ler ou gravar em um bucket do GCS, você precisa criar uma account de serviço anexada e associar o bucket à account de serviço. Você se conecta ao bucket diretamente com uma key gerada para a account de serviço.

Acesse um bucket do GCS diretamente com uma chave de conta do serviço clouds do Google

Para ler e gravar diretamente em um bucket, configure uma key definida na configuração do Spark.

passo 1: configurar a conta de serviço do Google Cloud usando o Console do Google Cloud

Você deve criar uma account de serviço para os clusters do Databricks. A Databricks recomenda atribuir a esta account de serviço os privilégios mínimos necessários para executar a sua tarefa.

  1. Clique em IAM e Admin no painel de navegação esquerdo.

  2. Clique em accountde serviço.

  3. Clique em + CRIAR accountde serviço.

  4. Insira o nome e a descrição account de serviço.

    Google Criar account de serviço para GCS
  5. Clique em Criar.

  6. Clique em "Continuar".

  7. Clique em Concluído.

passo 2: criar uma chave para acessar o bucket GCS diretamente

Aviso

A JSON que key você gera para a de serviço account é uma privada key que só deve ser compartilhada com usuários autorizados, pois controla o acesso ao dataset e recursos em sua do Google clouds account.

  1. No console do Google clouds , na lista account de serviço, clique na account recém-criada.

  2. Na seção key , clique em ADICIONAR key > Criar nova key.

    keyde criação do Google
  3. Aceite o key tipo JSON .

  4. Clique em CRIAR. O arquivo key é downloads para o seu computador.

passo 3: configurar o bucket GCS

Crie um balde

Se você ainda não possui um bucket, crie um:

  1. Clique em Armazenamento no painel de navegação esquerdo.

  2. Clique em Criar bucket.

    Balde de criação do Google
  3. Clique em Criar.

Configurar o intervalo

  1. Configure os detalhes do intervalo.

  2. Clique na guia Permissões .

  3. Ao lado do rótulo Permissões , clique em ADICIONAR.

    Detalhes do intervalo do Google
  4. Forneça a permissão de administrador de armazenamento à account de serviço no bucket das funções de armazenamento clouds .

    Permissões do Google Bucket
  5. Clique em Salvar.

passo 4: coloque a chave da conta de serviço nos segredos do Databricks

A Databricks recomenda a utilização Secret Scope para armazenar todas as credenciais. Você pode colocar a key privada e o ID key privada do arquivo JSON key no Databricks Secret Scope. Você pode conceder aos usuários, entidade de serviço e grupos em seu espaço de trabalho acesso para ler o Secret Scope. Isso protege a de serviço e account key permite que os usuários acessem o GCS. Para criar um Secret Scope, consulte Segredos.

passo 5: configurar clustersdo Databricks

  1. Na Spark Config tab, use o seguinte snippet para definir a key armazenada no Secret Scope:

    spark.hadoop.google.cloud.auth.service.account.enable true
    spark.hadoop.fs.gs.auth.service.account.email <client-email>
    spark.hadoop.fs.gs.project.id <project-id>
    spark.hadoop.fs.gs.auth.service.account.private.key {{secrets/scope/gsa_private_key}}
    spark.hadoop.fs.gs.auth.service.account.private.key.id {{secrets/scope/gsa_private_key_id}}
    

    Substitua <client-email>, <project-id> pelos valores desses nomes de campos exatos do seu arquivo JSON key .

Use o controle de acesso a clusters e o controle de acesso a Notebook juntos para proteger o acesso ao serviço account e aos dados no bucket do GCS. Consulte Permissões de computação e colaboração usando o Databricks Notebook.

passo 6: leitura do GCS

Para ler o bucket do GCS, use um comando de leitura do Spark em qualquer formato compatível, por exemplo:

df = spark.read.format("parquet").load("gs://<bucket-name>/<path>")

Para gravar no bucket do GCS, use um comando de gravação do Spark em qualquer formato compatível, por exemplo:

df.write.format("parquet").mode("<mode>").save("gs://<bucket-name>/<path>")

Substitua <bucket-name> pelo nome do bucket que você criou na passo 3: Configure the GCS bucket.

Notebook de Exemplo

Leia do Google Cloud Storage Notebook

Abra o bloco de anotações em outra guia

Gravar no Notebook do Google Cloud Storage

Abra o bloco de anotações em outra guia