PySparkを使用して複数の行をidに基づいて単一のセルにマージする方法はありますか?私はIDと製品のデータフレームを持っています。まず、同じIDの製品をリストにまとめて、各固有リストの出現回数を数えたいと思います。IDに基づいて複数の行を単一のセルにマージしてから数える方法は?
入力例1:
id,product
1,HOME
1,mobile
2,watch
2,mobile
3,HOME
3,mobile
4,cd
4,music
4,video
出力:
入力例:
cloths,brad
cloths,edu
cloths,keith
cloths,stef
enter,andr
enter,char
enter,danny
enter,lucas
コード:
SQLコードでproduct,count
HOME-mobile,2
mobile-watch,1
cd-music-video,1
例
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
出力:
cloths,brad-edu-keith-stef
enter,andr-char-danny-lucas
この例では、出力は、カウントを持っていないが、それは含まれなければなりません。
私はこれをPythonの代わりにPySparkで解決したいと考えています。
それはpysparkのための簡単な使用例です:
これはあなたにこのようなデータフレームを与える必要があります。何を試してみましたか? – techprat
私はpysparkの新しい私はすでに豚と私はどのようにpysparkと私はそのグループのための助けが必要なのか分からないとしようとする= group logdata by(url); X = FOREACH group_url { unique_users = DISTINCT logdata.name; FLATTEN(グループ)名としてUniqueUsers、unique_users、カウントとして COUNT(LOGDATA)AS、COUNT(unique_users)を生成し;} STORE Xに '出力/ bigdata_analytics_cleaned'。 – kumar
@kumar:編集機能を使用して、コメントではなく質問自体にコードを追加してください。さらに、ここに貼り付けたコードには、質問と同じ列名が含まれていないようで、他のものも同様に扱われているようです。 – Shaido