Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
Llamada Collect () utilizada para una función UDF que devuelve una columna bastante gruesa (de 2 columnas en total) para evitar crossJoin

El problema es el siguiente:

 'genre', 'top_tags' (250 rows) ---------------- Action, Array('bleeding', 'dying', 'guns', ...) - can hold up to 50k max. (avg is 4000) Drama, Array('crying', 'hard life', 'street')

Y otra tabla con películas, un género y sus etiquetas asociadas

 'movie', 'genre', 'tags'. (DataFrame size, around 23M Rows) ------------------------ M1 Action, 'guns', 'dying', 'bleeding', 'outside', 'worldwide'. approx ~10 records for each movie

Quiero iterar cada película e intentar extender su similitud de género comparando etiquetas. SIN algoritmo difuso , solo coincidencia exacta.

Quiero devolver un marco de datos (la misma película, género, marco de datos de etiquetas) con una nueva columna llamada potentially_related_genres y una lista de géneros.

Como yo lo veo, tengo dos opciones:

  1. crossJoin y compare dos columnas usando UDF, pero esto será malo ya que me obligará a iterar 5,750,000,000 filas. (salida crossJoin)

  2. seleccione los resultados (haga una collect() en el primer marco de datos (250 filas) y utilícelo justo después dentro de un UDF con toda la lógica, esto llamando al marco de datos original y utilícelo con Columna

DF.withColumn('potentially_related_genres', my_udf('genre', 'tags'))

El problema con el enfoque es que pasar al controlador es una recopilación bastante grande (recuerde la columna gruesa top_tags). y transferir esto a todos los trabajadores para ser utilizado. (el decapado y decapado)

Cualquier sugerencia ?

Gracias por adelantado.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda