PySparkでSQLで特徴量を集計したデータを読み込んだDataFrameとHashingTFで生成されたDataFrameをidでjoinしたいのですが、HashingTFで生成されたDataFrameが(ハッシング数, [index],[value])
のような形式になっているために意図的な結合ができません。
意図的な結合としては、
SQLによって事前集計されたデータを読み込んだDataFrameをdf_aとすると、
df_a = Row[[1, 2, 3], [2, 0, 2]] //schemaはuid, 値, 値
そしてテキストデータをHashingTFを利用してDataFrameに変換したものは、読み込んだものは、
df_b = Row[[1, (0, 1000, [256, 968], [1.0, 3.0])], [2, (0, 1000, [45], [1.0])]] // schemaはuid, 1000次元でハッシングされた値になって出てきます。
結合としては、
DataFrame
1|uid|v1 |v2 |V1 |V2 |...|45 |...|256|...|968|...|1000| 2|---|---|---|---|---|---|---|---|---|---|---|---|---| 3| 1 | 2 | 3 | 0 | 0 |...| 0 |...| 1 |...| 3 |...| 0 | 4| 2 | 0 | 2 | 0 | 0 |...| 1 |...| 0 |...| 0 |...| 0 |
をイメージしています。
あなたの回答
tips
プレビュー