Usando Opções Spark-Submit
Use opções compatíveis de script spark-submit padrão do setor para executar aplicativos usando dependências de terceiros do serviço Data Flow.
O PySpark permite fazer upload de arquivos Python (.py), pacotes Python compactados (.zip) e arquivos Egg (.egg) para os executores de uma das seguintes maneiras:
- Definindo a configuração
spark.submit.pyFiles.
- Definindo a opção
--py-filesnos scripts Spark.
Você pode usar opções compatíveis do Spark-Submit para cada uma das opções.
No entanto, essas abordagens não permitem que você adicione pacotes construídos como Wheels, portanto, não permita incluir dependências com código nativo. Para essas dependências, se você estiver usando o Spark 3.2.1 ou posterior, primeiro crie um pacote Conda e informe esse pacote Conda ao serviço Data Flow adicionando Configuração para spark.archives ou fornecendo --archives como uma opção compatível com Spark-Submit.
Você pode criar pacotes Conda para dependências do Spark 3.2.1 seguindo as instruções em https://conda.github.io/conda-pack/spark.html e https://docs.conda.io/projects/conda-build/en/stable/user-guide/wheel-files.html.
Para o Spark 3.2.1 ou posterior, quando você usa spark.archives ou --archives para fornecer os conda-packs, eles são descompactados no diretório /opt/spark/work-dir por padrão quando o comando spark-submit é semelhante a:
spark-submit --archives pyspark_conda_env.tar.gz app.py
spark-submit --archives pyspark_conda_env.tar.gz#your_environment app.pyEm seguida, é descompactado no diretório /opt/spark/work-dir/<your_environment>.
Consulte Funcionalidade Spark-Submit no Serviço Data Flow para obter mais exemplos sobre a abordagem spark-submit.