Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

189
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!