È possibile unire una fila in una relazione con una tupla in quella riga in maiale?

StackOverflow https://stackoverflow.com/questions/7406522

  •  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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top