Obțineți mai mult control cu noile macrocomenzi în Qlik™ Cloud Data Integration

Qlik™ Cloud Data Integration (QCDI) oferă capabilități puternice pentru crearea de canale de date automatizate și scalabile. Unul dintre beneficiile cheie este procesarea incrementală, care procesează doar datele modificate, mai degrabă decât întregul set de date la fiecare execuție. Acest lucru îmbunătățește eficiența, în special în cazul seturilor de date mari.

În timp ce QCDI de bază pentru generare, stocare sau efectuarea de transformări de bază sunt automat incrementale, interogările SQL personalizate reprocesează complet toate datele în mod implicit. Cu o logică complexă, această procesare repetitivă ar putea deveni ineficientă.

De aceea, Qlik™ are plăcerea de a anunța noile capacități ale macrocomenzilor care vă oferă mai mult control asupra procesării incrementale în conductele SQL personalizate. Acum puteți specifica cu ușurință o logică diferită de executat în timpul încărcărilor inițiale față de actualizările incrementale.

Introducerea macrocomenzilor de încărcare inițială și incrementală

Principala îmbunătățire constă în adăugarea a două macrocomenzi – una pentru sarcini inițiale (Q_RUN_INITIAL LOAD) și a doua pentru sarcini incrementale (Q_RUN_INCREMENTAL). Aceste macrocomenzi vă permit să personalizați ce logică se execută în timpul încărcărilor inițiale, atunci când tabelele sunt construite pentru prima dată, față de rulările incrementale care procesează date noi sau modificate.

Pentru a le utiliza, pur și simplu includeți orice logică specifică încărcărilor inițiale sau incrementale în tag-urile macro corespunzătoare. De exemplu:

SELECT * FROM orders

{{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}}

WHERE update_tx > DATEADD(day, -1,GETDATE())

{{/QLIK_FUNC_IF}}

Această interogare ar selecta toate înregistrările de comenzi în timpul încărcărilor inițiale, dar numai înregistrările mai noi din ultima zi pentru actualizările incrementale. Etichetele macro îi spun QCDI să aplice logica de filtrare numai atunci când se execută în mod incremental.

Beneficii ale macrocomenzilor specifice de încărcare

Aceste noi macrocomenzi oferă două avantaje majore:

  1. Eficiență îmbunătățită prin limitarea volumelor de date incrementale
  2. Mai multă flexibilitate pentru a adapta logica în mod independent

Cu ajutorul macrocomenzilor, puteți reduce în mod semnificativ datele procesate în mod incremental prin filtrarea sau eșantionarea seturilor de date. QCDI efectuează în continuare detectarea modificărilor pe subansamblu, dar evită reprelucrarea întregului istoric la fiecare rulare.

De asemenea, obțineți mai multă flexibilitate pentru a personaliza logica SQL în mod independent pentru încărcările inițiale și incrementale. De exemplu, este posibil să doriți să:

  1. Adăugați filtre sau îmbinări numai pentru sarcini incrementale
  2. Maparea coloanelor sau calcularea valorilor în mod diferit
  3. Uniți seturile de date numai în timpul încărcărilor inițiale
  4. Utilizați diferite variante de tabele, cum ar fi istoricul modificărilor

Posibilitățile sunt nelimitate, deoarece puteți personaliza complet SQL în cadrul fiecărei macrocomenzi!

Modele și exemple de încărcare incrementală

Să trecem în revistă câteva exemple de modele care utilizează noile macrocomenzi:

  1. Limitați-vă doar la modificările recente

Filtrați numai înregistrările noi sau recent modificate, reducând volumul de date incrementale.

SELECT * FROM orders

{{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}}

WHERE update_tx > DATEADD(day, -1, GETDATE())

{{/QLIK_FUNC_IF}}

  1. Utilizați tabele diferite

Alăturați tabelul istoric pentru încărcările inițiale și, pentru încărcările incrementale, utilizați înregistrările curente folosind marcarea temporală de la/ la.

{{#QLIK_FUNC_IF Q_RUN_INITIAL_LOAD}}

SELECT oh.*, ch.* FROM orders_history oh

JOIN customers_history ch ON oh.CUST_ID = ch.CUST_ID

{{/QLIK_FUNC_IF}}

{{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}}

SELECT o.*, c.* FROM orders o

JOIN customers c ON o.CUST_ID = c.CUST_ID

WHERE o.OrderTimestamp >= DATEADD(DAY, -1, CAST(GETDATE() AS DATE)) AND o.OrderTimestamp < CAST(GETDATE() AS DATE);

{{/QLIK_FUNC_IF}}

  1. Adăugați coloane derivate

Calculați sau setați valorile în mod diferit la sarcina inițială față de sarcinile incrementale.

SELECT od.ODID, o.ORDERID, od.PRODUCTID, od.QUANTITY, o.ORDERDATE,

{{#QLIK_FUNC_IF Q_RUN_INITIAL_LOAD}} ‘INIT’ as LOADED_BY  

{{/QLIK_FUNC_IF}}

{{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} ‘INCR’ as LOADED_BY {{/QLIK_FUNC_IF}}

FROM ${ORDERS} o 

JOIN ${ORDER_DETAILS} od  ON o.ORDERID= od.ORDERID

{{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}}

WHERE o.ORDERDATE > DATEADD(hour, -12, CURRENT_TIMESTAMP())

{{/QLIK_FUNC_IF}}

Începeți astăzi cu macrocomenzile!

Noile macrocomenzi vă permit să îmbunătățiți considerabil eficiența și flexibilitatea procesării incrementale în QCDI. Puteți începe să le aplicați încă de astăzi la sarcinile SQL personalizate utilizând cea mai recentă versiune QCDI.

Consultați un tur autoghidat al Qlik™ Cloud Data Integration aici

Pentru informații despre Qlik™, vă rugăm să vizitați pagina: qlik.com.
Pentru soluții specifice și specializate de la QQinfo, vă rugăm accesați pagina: QQsolutions.
Pentru a fi în contact cu ultimele noutăți în domeniu, soluții inedite explicate, dar și cu perspectivele noastre personale în ceea ce privește lumea managementului, a datelor și a analiticelor, vă recomandăm QQblog-ul !