È possibile unire una fila in una relazione con una tupla in quella riga in maiale?
-
29-10-2019 - |
Domanda
Ho una serie di dati che mostrano utenti, collezioni di frutta che piacciono e Città natale:
Alice\tApple:Orange\tSacramento
Bob\tApple\tSan Diego
Charlie\tApple:Pineapple\tSacramento
Vorrei creare una query suina che correla il numero di utenti che godono di tyeps di frutti in diverse città, in cui i risultati della query per i dati sopra assomigliano a questo:
Apple\tSacramento\t2
Apple\tSan Diego\t1
Orange\tSacramento\t1
Pineapple\tSacramento\t1
La parte che non riesco a capire è come attraversare le file di frutta divisa con il resto dei dati della stessa riga, quindi:
Alice\tApple:Orange\tSacramento
diventa:
Alice\tApple\tSacramento
Alice\tOrange\tSacramento
So di poter usare Tokenize per dividere la stringa "Apple: Orange" nella tupla ("Apple", "Orange"), ma non so come ottenere il prodotto incrociato di quella tupla con il resto della riga ( 'Alice').
Una soluzione a forza bruta che ho trovato è utilizzare lo streaming per eseguire la raccolta di input attraverso un programma esterno e gestire il "join incrociato" per produrre più righe per riga lì.
Questo sembra che dovrebbe essere inutile però. Ci sono idee migliori?
Nessuna soluzione corretta