Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

All operation med big data kräver stor datorkraft. En typisk flytt av data från en databas till Hadoop kan ta veckor eller kosta lika mycket som en flygplansvinge. Vill du inte vänta och spendera? Balansera lasten över olika plattformar. Ett sätt är pushdown-optimering.

Jag bad Aleksey Ananyev, en ledande rysk tränare för utveckling och administration av Informatica-produkter, att prata om pushdown-optimeringsfunktionen i Informatica Big Data Management (BDM). Har du någonsin lärt dig hur man arbetar med Informatica-produkter? Troligtvis var det Aleksey som berättade grunderna i PowerCenter och förklarade hur man bygger kartor.

Alexey Ananiev, chef för Training DIS Group

Vad är pushdown?

Många av er är redan bekanta med Informatica Big Data Management (BDM). Produkten kan integrera stordata från olika källor, flytta den mellan olika system, ger enkel åtkomst till den, låter dig profilera den och mycket mer.
I rätt händer kan BDM göra underverk: uppgifter kommer att slutföras snabbt och med minimala datorresurser.

Vill du det också? Lär dig hur du använder BDM:s pushdown-funktion för att sprida arbetsbelastningen på olika plattformar. Pushdown-tekniken låter dig förvandla mappningen till ett skript och välja i vilken miljö detta skript ska köras. Möjligheten till ett sådant val gör att du kan kombinera styrkorna hos olika plattformar och uppnå maximal prestanda.

För att konfigurera skriptkörningsmiljön måste du välja pushdown-typ. Skriptet kan köras helt på Hadoop eller delvis distribueras mellan källa och mål. Det finns 4 möjliga pushdown-typer. Kartläggning kan inte omvandlas till ett skript (native). Kartläggning kan utföras så mycket som möjligt på källan (källan) eller helt på källan (fullständig). Kartläggning kan också omvandlas till ett Hadoop-skript (inget).

Pushdown-optimering

De listade 4 typerna kan kombineras på olika sätt - för att optimera pushdown för systemets specifika behov. Till exempel är det ofta mer lämpligt att hämta data från en databas med hjälp av dess egna möjligheter. Och att transformera data - av Hadoops krafter, så att själva databasen inte överbelastas.

Låt oss överväga fallet när både källan och destinationen finns i databasen och plattformen för att utföra transformationerna kan väljas: beroende på inställningarna kommer det att vara Informatica, databasservern eller Hadoop. Ett sådant exempel kommer mest exakt att förstå den tekniska sidan av driften av denna mekanism. Naturligtvis, i det verkliga livet, uppstår inte denna situation, men den är bäst lämpad för att demonstrera funktionaliteten.

Låt oss ta en mappning för att läsa två tabeller i en enda Oracle-databas. Och låt läsresultaten skrivas till en tabell i samma databas. Kartläggningsschemat kommer att se ut så här:

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

I form av kartläggning på Informatica BDM 10.2.1 ser det ut så här:

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

pushdown-typ - infödd

Om vi ​​väljer den inbyggda pushdown-typen, kommer mappningen att utföras på Informatica-servern. Data kommer att läsas från Oracle-servern, överföras till Informatica-servern, transformeras dit och överföras till Hadoop. Med andra ord kommer vi att få en normal ETL-process.

skriv pushdown-källa

Vid val av källtyp får vi möjlighet att fördela vår process mellan databasservern (DB) och Hadoop. När processen exekveras med denna inställning kommer frågor att skickas till databasen för att hämta data från tabeller. Och resten kommer att göras som steg på Hadoop.
Exekveringsschemat kommer att se ut så här:

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

Nedan är ett exempel på hur du ställer in runtime-miljön.

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

I det här fallet kommer mappningen att utföras i två steg. I dess inställningar kommer vi att se att det har förvandlats till ett skript som kommer att skickas till källan. Dessutom kommer sammanfogningen av tabeller och datatransformation att utföras i form av en åsidosatt fråga vid källan.
På bilden nedan ser vi den optimerade mappningen på BDM och den omdefinierade frågan på källan.

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

Hadoops roll i denna konfiguration kommer att reduceras till att hantera dataflödet – orkestrera dem. Frågeresultatet kommer att skickas till Hadoop. Efter att läsningen är klar kommer filen från Hadoop att skrivas till mottagaren.

pushdown typ - full

När du väljer den fullständiga typen förvandlas mappningen helt till en databasfråga. Och frågeresultatet kommer att skickas till Hadoop. Ett diagram över en sådan process presenteras nedan.

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

Ett exempel på inställningar visas nedan.

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

Som ett resultat kommer vi att få en optimerad mappning som liknar den tidigare. Den enda skillnaden är att all logik överförs till mottagaren i form av omdefiniering av dess insättning. Ett exempel på en optimerad mappning visas nedan.

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

Här, liksom i föregående fall, spelar Hadoop rollen som en dirigent. Men här läses källan i sin helhet och sedan exekveras databehandlingslogiken på mottagarnivå.

pushdown-typen är null

Tja, det sista alternativet är pushdown-typen, inom vilken vår kartläggning kommer att förvandlas till ett Hadoop-skript.

Den optimerade mappningen kommer nu att se ut så här:

Hur flyttar man, laddar upp och integrerar mycket stor data billigt och snabbt? Vad är pushdown-optimering?

Här kommer data från källfilerna först att läsas av Hadoop. Sedan, på egen hand, kommer dessa två filer att kombineras. Efter det kommer data att konverteras och laddas upp till databasen.

Genom att förstå principerna för pushdown-optimering kan du organisera många processer för att arbeta med big data mycket effektivt. Så, ganska nyligen, laddade ett stort företag ut stor data från lagring till Hadoop på bara några veckor, som tidigare hade samlats in i flera år.

Källa: will.com

Lägg en kommentar