Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

246
Visualizações
¿Por qué Hadoop no respeta las propiedades 'spark.hadoop.fs' establecidas en pyspark?

Hay tres propiedades en mi spark-defaults.conf que quiero poder configurar dinámicamente:

  • spark.driver.maxResultSize
  • spark.hadoop.fs.s3a.access.key
  • spark.hadoop.fs.s3a.secret.key

Aquí está mi intento de hacerlo:

 from pyspark import SparkConf from pyspark.sql import SparkSession conf = (SparkConf() .setMaster(spark_master) .setAppName(app_name) .set('spark.driver.maxResultSize', '5g') .set('spark.hadoop.fs.s3a.access.key', '<access>')\ .set('spark.hadoop.fs.s3a.secret.key', '<secret>) ) spark = SparkSession.builder.\ config(conf=conf).\ getOrCreate() print(spark.conf.get('spark.driver.maxResultSize')) print(spark.conf.get('spark.hadoop.fs.s3a.access.key')) print(spark.conf.get('spark.hadoop.fs.s3a.secret.key')) spark.stop()

Aquí está la salida que obtengo:

 5g <access> <secret>

Sin embargo, cuando intento leer un archivo csv en S3 usando esta configuración, aparece un error de permisos denegados.

Si configuro las credenciales a través de variables de entorno, puedo leer el archivo.

¿Por qué Hadoop no respeta las credenciales especificadas de esta manera?

Actualizar:

Conozco otras preguntas y respuestas relacionadas con la configuración de las propiedades de Hadoop en pyspark.

Aquí estoy tratando de registrar para la posteridad cómo puede ser engañado para que piense que puede configurarlos dinámicamente a través spark.hadoop.* , ya que ese es el nombre que usa para configurar estas propiedades en spark-defaults.conf , y dado que no No obtendrá un error directamente cuando intente configurarlos de esta manera.

Muchos sitios le dicen que "establezca la propiedad spark.hadoop.fs.s3a.access.key ", pero no especifique que este solo sea el caso si lo configura estáticamente en spark-defaults.conf y no dinámicamente en pyspark .

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Resulta que no puede especificar las propiedades de Hadoop a través de:

spark.conf.set('spark.hadoop.<property>', <value>)

pero en su lugar debe utilizar:

spark.sparkContext._jsc.hadoopConfiguration().set('<property>', <value>)

Creo que solo puede usar spark.conf.set() para las propiedades enumeradas en la página Configuración de Spark .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda