Buckets temporários e de staging do Managed Service for Apache Spark

Quando você cria um cluster, o HDFS é usado como o sistema de arquivos padrão. É possível modificar esse comportamento definindo o defaultFS como um bucket do Cloud Storage. Por padrão, o Serviço Gerenciado para Apache Spark também cria um bucket temporário e de preparo do Cloud Storage no projeto ou reutiliza buckets temporários e de preparo criados pelo Serviço Gerenciado para Apache Spark em solicitações de criação de cluster anteriores.

Se você não especificar um bucket temporário ou de teste ao criar um cluster, o Serviço Gerenciado para Apache Spark definirá um local do Cloud Storage nos EUA, na ÁSIA ou na UE para os buckets temporários e de teste do cluster, de acordo com a zona do Compute Engine em que o cluster foi implantado. Em seguida, ele cria e gerencia esses buckets por local no nível do projeto. Os buckets temporários e de teste criados pelo Serviço Gerenciado para Apache Spark são compartilhados entre clusters na mesma região e são criados com uma duração de retenção de exclusão temporária do Cloud Storage definida como 0 segundo. Se você especificar seus próprios buckets temporários e de teste, ajuste a retenção de exclusão temporária para reduzir as cobranças de armazenamento incorridas por objetos excluídos temporariamente.

O bucket temporário contém dados efêmeros e tem um TTL de 90 dias. O bucket de staging, que pode conter dados de configuração e arquivos de dependência necessários para vários clusters, não tem um TTL. No entanto, é possível aplicar uma regra de ciclo de vida aos arquivos de dependência (arquivos com uma extensão de nome de arquivo ".jar" localizados na pasta do bucket de preparo) para programar a remoção dos arquivos de dependência quando eles não forem mais necessários para os clusters.

Crie seus próprios buckets de preparo e temporários

Em vez de depender da criação de um bucket de preparo padrão e temporário, especifique os buckets atuais do Cloud Storage que o Serviço gerenciado para Apache Spark usará como o bucket de preparo e temporário do cluster.

Comando gcloud

Execute o comando gcloud dataproc clusters create com as sinalizações --bucket e/ou --temp-bucket localmente em uma janela do terminal ou no Cloud Shell para especificar o bucket de preparo e/ou temporário do cluster.

gcloud dataproc clusters create cluster-name \
    --region=region \
    --bucket=bucket-name \
    --temp-bucket=bucket-name \
    other args ...

API REST

Use os campos ClusterConfig.configBucket e ClusterConfig.tempBucket em um clusters.create para especificar os buckets de preparo e temporários do cluster.

Console

No console Google Cloud , abra a página Criar um cluster do Serviço Gerenciado para Apache Spark. Selecione o painel "Personalizar cluster" e use o campo "Armazenamento de arquivos" para especificar ou selecionar o bucket de preparo do cluster.

Observação: no momento, não é possível especificar um bucket temporário usando o console Google Cloud .

O Serviço Gerenciado para Apache Spark usa uma estrutura de pastas definida para os buckets do Cloud Storage anexados aos clusters. O Serviço Gerenciado para Apache Spark também permite anexar mais de um cluster a um bucket do Cloud Storage. A estrutura de pastas usada para salvar a saída do driver do job no Cloud Storage é:

cloud-storage-bucket-name
  - google-cloud-dataproc-metainfo
    - list of cluster IDs
        - list of job IDs
          - list of output logs for a job

Use a ferramenta de linha de comando gcloud, a API do Serviço Gerenciado para Apache Spark ou o consoleGoogle Cloud para listar o nome dos buckets temporários e de preparo de um cluster.

Console

  • \Veja os detalhes do cluster, incluindo o nome do bucket de preparo do cluster, na página Clusters do Serviço Gerenciado para Apache Spark no console Google Cloud .
  • Na página Navegador do Cloud Storage do console Google Cloud , filtre os resultados que contêm "dataproc-temp-".

Comando gcloud

Execute o comando gcloud dataproc clusters describe localmente em uma janela de terminal ou no Cloud Shell. Os buckets de preparo e temporários associados ao cluster são listados na saída.

gcloud dataproc clusters describe cluster-name \
    --region=region \
...
clusterName: cluster-name
clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ...
config:
    configBucket: dataproc-...
    ...
    tempBucket: dataproc-temp...

API REST

Chame clusters.get para listar os detalhes do cluster, incluindo o nome dos buckets temporários e de preparo do cluster.

{
 "projectId": "vigilant-sunup-163401",
 "clusterName": "cluster-name",
 "config": {
  "configBucket": "dataproc-...",
...
  "tempBucket": "dataproc-temp-...",
}

defaultFS

É possível definir core:fs.defaultFS como um local de bucket no Cloud Storage (gs://defaultFS-bucket-name) para definir o Cloud Storage como o sistema de arquivos padrão. Isso também define core:fs.gs.reported.permissions, a permissão relatada pelo conector do Cloud Storage para todos os arquivos, como 777.

Se o Cloud Storage não estiver definido como o sistema de arquivos padrão, o HDFS será usado, e a propriedade core:fs.gs.reported.permissions retornará 700, o valor padrão.

gcloud dataproc clusters create cluster-name \
    --properties=core:fs.defaultFS=gs://defaultFS-bucket-name \
    --region=region \
    --bucket=staging-bucket-name \
    --temp-bucket=temp-bucket-name \
    other args ...