Desidero conservare solo i dipendenti che hanno un ID del reparto referenziato nella seconda tabella.Filtro basato su un altro RDD in Spark
Employee table
LastName DepartmentID
Rafferty 31
Jones 33
Heisenberg 33
Robinson 34
Smith 34
Department table
DepartmentID
31
33
Ho provato il seguente codice che non funziona:
employee = [['Raffery',31], ['Jones',33], ['Heisenberg',33], ['Robinson',34], ['Smith',34]]
department = [31,33]
employee = sc.parallelize(employee)
department = sc.parallelize(department)
employee.filter(lambda e: e[1] in department).collect()
Py4JError: An error occurred while calling o344.__getnewargs__. Trace:
py4j.Py4JException: Method __getnewargs__([]) does not exist
Tutte le idee? Sto usando Spark 1.1.0 con Python. Tuttavia, accetterei una risposta Scala o Python.
Avete bisogno la vostra lista reparto di essere un RDD? – maasg
Non proprio. L'elenco del dipartimento viene caricato da HDFS ma non è molto grande. – poiuytrez