spark.local.dir parâmetro de configuração
O spark.local.dir parâmetro é uma opção de configuração no ` Apache Spark ` que especifica o diretório local usado para armazenamento de arquivos temporários e reorganizações durante a execução do trabalho. Por padrão, o valor está definido como /tmp/spark/scratch.
Finalidade e uso
Enquanto os trabalhos do Spark estão em execução, arquivos temporários, shuffles e dados intermediários são gravados no disco local para garantir um processamento eficiente. O spark.local.dir parâmetro define o caminho do diretório onde o Spark grava esses arquivos temporários.
Valor Padrão
O valor padrão de spark.local.dir está definido como /tmp/spark/scratch. Este diretório é utilizado para armazenamento temporário no disco local de cada nó executor do Spark.
Substituir o valor padrão
No serviço Analytics Engine, você pode substituir o valor padrão de spark.local.dir ao enviar suas aplicações Spark:
Exemplo
Carga útil do aplicativo:
{
"application_details": {
"application": "/opt/ibm/spark/examples/src/main/python/wordcount.py",
"application_arguments": ["cos://mycos-bucket.object-storage/people.csv"],
"conf": {
"spark.app.name": "MyJob",
"spark.local.dir": "/myTempSpace",
"spark.hadoop.fs.cos.object-storage.endpoint": "s3.direct.us-south.cloud-object-storage.appdomain.cloud",
"spark.hadoop.fs.cos.object-storage.secret.key": "xxxx",
"spark.hadoop.fs.cos.object-storage.access.key": "xxxx"
}
},
"volumes": [{
"name": "temp-vol",
"mount_path": "/myTempSpace",
"source_sub_path": ""
}]
}
Ao substituir o valor padrão de spark.local.dir, você pode adaptar o local de armazenamento dos arquivos temporários às suas necessidades específicas, como utilizar um disco de alto desempenho ou direcionar os arquivos temporários para um local de armazenamento compartilhado na rede.
Lembre-se de levar em conta o espaço em disco disponível, as permissões e a acessibilidade do caminho do diretório escolhido ao selecionar um valor personalizado para spark.local.dir.
Nos notebooks, é possível substituir a configuração do Spark spark.local.dir durante a inicialização do contexto do Spark. Por exemplo:
from pyspark.sql import SparkSession
sc = spark.sparkContext
conf = sc.getConf()
conf.set("spark.local.dir", "/home/spark/shared/spark-events/")
sc.stop()
spark = SparkSession.builder.config(conf=conf).getOrCreate()
sc = spark.sparkContext
conf = sc.getConf()
Para remover bibliotecas, diretórios de eventos do Spark e arquivos de log após a execução do notebook, consulte Remoção de bibliotecas.