Soluzione non HBase per dati enormi che ha aggiornamento ed eliminazione in modo sequenziale

0

Devo progettare un'applicazione in cui ci sono circa 5K file di testo strutturati di base (file.txt) con dati e formato come di seguito: La chiave primaria è OrgId + ItemId

OgId|^|ItemId|^|segmentId|^|Sequence|^|Action|!|

4295877341|^|136|^|4|^|1|^|I|!|

4295877346|^|136|^|4|^|1|^|I|!|

4295877341|^|138|^|2|^|1|^|I|!|

4295877341|^|141|^|4|^|1|^|I|!|

4295877341|^|143|^|2|^|1|^|I|!|

4295877341|^|145|^|14|^|1|^|I|!|

Ho l'aggiornamento incrementale file1.txt che avrà le stesse informazioni sulla chiave primaria con la colonna aggiornata (il numero di colonne potrebbe differire dal formato del file di base), se le informazioni sulla chiave primaria non vengono trovate nel file di base, vengono trattate come nuove voci .

e.g - La chiave primaria è OrgId + ItemId

Formato 1 per Inserisci -

OgId|^|ItemId|^|segmentId|

5295877341|^|136|^|4|^|1|^|I|!|

5295877341|^|141|^|2|^|1|^|I|!|

Formato 2 per l'aggiornamento -

    OgId|^|ItemId|^|segmentId|^|Sequence|

    4295877341|^|136|^|5|^|2|

    OgId|^|ItemId|^|segmentId

    4295877346|^|136|^|2|

Formato 3 per Elimina-

OgId|^|ItemId|^|segmentId|^|Sequence

4295877341|^|145|^|14|^|1|

L'output finale è come questo.

OgId|^|ItemId|^|segmentId|^|Sequence|^|Action|!|

5295877341|^|136|^|4|^|1|^|I|!|

5295877341|^|141|^|2|^|1|^|I|!|

4295877341|^|136|^|5|^|2|^|I|!|

4295877346|^|136|^|2|^|1|^|I|!|

4295877341|^|138|^|2|^|1|^|I|!|

4295877341|^|141|^|4|^|1|^|I|!|

4295877341|^|143|^|2|^|1|^|I|!|

4295877341|^|145|^||^||^|I|!|

Voglio usare AWS o HADOOP / bigdata ma non posso usare Hbase.

Le dimensioni del file di base variano da 5 KB a 50 GB e le dimensioni del file incrementale variano da 10 MB a 2 GB.

C'è un problema, in cui l'inserimento / aggiornamento / eliminazione incrementale dei file deve essere elaborato nello stesso ordine in cui arriva.

    
posta SUDARSHAN 09.08.2017 - 13:58
fonte

0 risposte

Leggi altre domande sui tag