Ich arbeite mit Hive-Daten, die in ein Python-Jupyter-Notizbuch mit einem in Python geschriebenen Hive-Wrapper gezogen wurden. Ich habe Terabytes von Daten wie folgt aus:Sammeln nach Gruppe gruppiert?
Table 1: time=t1
uid colA
1 A
1 B
1 C
2 A
2 B
3 C
3 D
Ich mag einen neuen Datenrahmen (PySpark/Pandas) aus den obigen Daten erstellen, die wie folgt aussehen:
Table 2: time=t1
uid colA
1 [A, B, C]
2 [A, B]
3 [C, D]
wo colA
wäre eine Liste von Saiten. Wie würde ich das tun? Ich habe gelesen über collect_set(), aber bin nicht vertraut mit seiner Verwendung oder Eignung.
Nach Table 2
zu schaffen, nehme ich für time=t2
einen anderen Tisch hatte:
Table 3: time=t2
uid colA
1 [A, B]
2 [B]
3 [C, D, E]
Nun, ich möchte die eingestellte Differenz zwischen table 2
und table 3
berechnen. Es sollte 3 zurückgeben, da dies die Anzahl von Hinzufügungen/Löschungen ist, die benötigt werden, um von Tabelle 3 zu Tabelle 2 zu gelangen.
Also, was haben yo Du hast es versucht? –