Wie mehrere Zeilen in einzelne Zelle zusammengeführt werden, basierend auf ID mit PySpark? Ich habe einen Datenrahmen mit IDs und Produkten. Zuerst möchte ich die Produkte mit der gleichen ID zusammen in eine Liste zusammenführen, dann möchte ich die Anzahl der Vorkommen jeder eindeutigen Liste zählen.Wie mehrere Zeilen in einzelne Zelle basierend auf ID zusammenführen und dann zählen?
Eingabebeispiel 1:
id,product
1,HOME
1,mobile
2,watch
2,mobile
3,HOME
3,mobile
4,cd
4,music
4,video
Output:
product,count
HOME-mobile,2
mobile-watch,1
cd-music-video,1
Beispiel 2 mit SQL-Code:
Eingabebeispiel:
cloths,brad
cloths,edu
cloths,keith
cloths,stef
enter,andr
enter,char
enter,danny
enter,lucas
Code:
01.235.SELECT
SS.SEC_NAME,
STUFF((SELECT '- ' + US.USR_NAME
FROM USRS US
WHERE US.SEC_ID = SS.SEC_ID
ORDER BY USR_NAME
FOR XML PATH('')), 1, 1, '') [SECTORS/USERS]
FROM SALES_SECTORS SS
GROUP BY SS.SEC_ID, SS.SEC_NAME
ORDER BY 1
Ausgang:
cloths,brad-edu-keith-stef
enter,andr-char-danny-lucas
In diesem Beispiel wird die Ausgabe nicht die Zählung, aber es sollte enthalten sein.
Ich möchte dies in PySpark anstelle von sql/Schwein zu lösen.
Es ist ein einfacher Anwendungsfall für pyspark. Zeig uns was hast du probiert ?? – techprat
ia m neu in pyspark Ich versuche schon mit Schwein Ich weiß nicht, wie mit pyspark tun, also brauche ich Hilfe für diese group_url = GROUP logdata by (url); X = FOREACH group_url { unique_users = DISTINCT logdata.name; GENE Flatten (Gruppe), COUNT (unique_users) AS UniqueUsers, unique_users wie Name, COUNT (Logdaten) als Zählungen;} STORE X in 'Output/bigdata_analytics_cleaned'; – kumar
@kumar: Bitte verwenden Sie die Bearbeitungsfunktion und fügen Sie den Code der Frage selbst und nicht in einem Kommentar hinzu. Darüber hinaus scheint der Code, den Sie hier eingefügt haben, nicht die gleichen Spaltennamen zu enthalten wie in der Frage und scheint auch andere Dinge zu tun. – Shaido