67% found this document useful (3 votes)
4K views43 pages

SnapLogic Tutorial

snaplogic software

Uploaded by

avi1champion
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
67% found this document useful (3 votes)
4K views43 pages

SnapLogic Tutorial

snaplogic software

Uploaded by

avi1champion
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

SnapLogic Tutorials

Document Release: October 2013


SnapLogic, Inc. 2 West 5th Ave, Fourth Floor San Mateo, California 94402 U.S.A.

www.snaplogic.com

Table of Contents
SnapLogic Tutorials Table of Contents SnapLogic Overview Glossary The Tutorial Environment About the Tutorial Exercise 1: Working with Components Reviewing the Sample Leads to Prospects Pipeline Hands-on Exercise: Creating Components Creating a Writer Component Building the Read-Write Pipeline Exercise 2: Filtering Data Reviewing the California Prospects Pipeline Hands-on Exercise: Creating a Filter Component Duplicating Components Building the Read-Write-Filter Pipeline Exercise 3: Data Services Reviewing the Census Feed and Qualified California Pipelines Hands-On Exercise: Data Services Creating a Join Component Duplicating a Writer Component Building a Data Service Pipeline Exercise 4: Data Sorting Reviewing the Filtered Qualifying California Prospects Pipeline Hands-on Exercise: Sorting Data Exercise 5: Utilizing Pass-Through Reviewing the California Prospects Pipeline, Exercise 5 Hands-on Exercise: Implementing Pass-Through 1 2 4 4 4 5 6 6 8 11 12 16 16 17 19 20 22 22 25 27 28 29 32 32 34 38 38 39

-2-

SnapLogic Tutorials

-3-

1
SnapLogic Overview
SnapLogicistheonlyintegrationplatformbuiltonmodernwebstandardsand"containerized" Snaps,allowingyoutoeasilyconnectanycombinationofCloud,SaaSorOn-premiseapplicationsanddatasources.Likethewebitself,SnapLogicstandardizestheaccessprotocols, accessmethodsanddatastructureforeveryinteraction.TheseRESTful1interactionsallow datatobeexchangedbetweenserversinanorganizedwaythatmakesiteasyforthedatato beprocessedandinterpreted.Thiscreatesaresource-oriented,data-serviceslayerthatprovidestransformationandintegrationservicesforallkindsofintegrations.

Glossary
l Components:Componentsprovidebasicintegrationcapabilitiessuchasdatabasequeries,filereadandwrite,aggregate,sort,filter,join,andothers.Componentsareconfiguredwithspecificproperties. l Pipelines:Pipelinescanbeassembledintohierarchiesthatcanimplementcomplex logicandtransformationsondataforsophisticatedintegrations. l Repository:ResourcedefinitionsarestoredlocallyinaSnapLogicServersRepository.

The Tutorial Environment


ToillustratehowtobuildadataservicesinfrastructurelayerwithSnapLogic,thistutorial presentsfoursimpleexercises.Eachexercisebuildsuponthepreviousonetodemonstrate howexistingResourcescanbereusedaswellasintroducesnewSnapLogicComponentsand capabilities.Becauseexercisesbuildonthepreviousexercise,theyshouldbecompletedin orderastheydependonthesuccessfulcompletionofearlierwork. OnceyoucompletethistutorialyouwillknowhowtousetheSnapLogicDesignerinterfaceto: l ConfigureResourcesfordatasourcesandtargets l ConfiguretransformationResources l LinkComponentstoformPipelines l SpecifyfieldmappingsbetweenComponents l ExecutePipelinesfromtheDesigner l ReuseComponentsinotherPipelines ThistutorialisonlyanintroductiontothepowerofSnapLogic.TherearemoreComponents availablethatcanbereferencedintheDocumentationsectionlocatedat https://www.snaplogic.com/component-reference/component-reference.htm

-4-

SnapLogic Tutorials

tohelpyouunderstandhoweachComponentfunctions. Note: Thetutorialisbasedontheversionofthesoftwareatthetimeofthe releasedateonthefrontpage.Ifyouareusingadifferentversion,yourexperiencemayvary.

About the Tutorial


Thistutorialisbasedonahypotheticalexamplethatrequirestransformingagenericlistof salesleadsintoalistofqualifiedsalesprospects.Webeginbyprocessinganinputfileconsistingofleadsthatmightbegeneratedorpurchasedfromsomelistprovider(leads.csv). Thefileincludesfirstname,lastname,phone(home/work/cell)andaddress(street,city, state,andzip/postalcode). Theobjectiveistoidentifywhichoftheseleadsaresalesprospectsbyfilteringthembasedon locationandhouseholdincomelevel.Thisrequiresselectingonlythoseleadswithinaspecific territory(California)andmatchingthemagainsthouseholdincomedataforthelead'szip code.Householdincomeinformationisavailableatwww.irs.govandprovidesforeachzip codethepercentageofhouseholdsthathaveincomelessthan$10K,$10-$15K,$15-25K, $25K-50Kandgreaterthan$50K.Forthistutorial,dataforthestateofCaliforniaisaccessed byreadingalocalfile(CAIncomeByZip.csv). Theindividualtutorialsconsistof: l Exercise 1beginsbyreadingtheleads.csvfileandwritingitouttoafilewherethe outputfileomitsthehomeandcellphonenumbersfromtheleads.csvfile.Thisisdone bycreatingaPipelinewithtwoResources:AfileReaderandafileWriter. l Exercise 2usestheResourcesfromExercise1andcreatesanotherPipelinethatfilters theleadstoincludeonlytheleadsthatliveinCalifornia.TheWriterResourceisreused fromExercise1andaruntimeparameterissettouseanewfilenametopreservethe previousresults.(Parametersarevaluesthatcanbespecifiedatruntime,andaretypicallyusedforspecifyingthingslikefilenamesatruntime,soResourcesdon'thaveto beedited.) l Exercise 3readsthehouseholdincomedatafromthefileCAIncomeByZip.csvand joins(looksup)thatdatawiththefiltereddatafromExercise2.Itthenwritestoanew outputfile. l Exercise 4filtersandsortsthejoineddatabasedonzipcodeswherethepercentageof householdsthathaveanincomegreaterthan$50Kisaboveaspecifiedthreshold. l Exercise 5introducesyoutotheconceptofpass-through,wherefieldsnotneededfor aspecificComponentarepassedthroughforusedownstreaminthePipeline. Note: TheTutorialExercisePipelinesgeneratesampleoutputfileslikeex_n_prospects.csv,where`n`representstheexercisenumber(forexample,ex_1_prospects.csv isgeneratedinExercise1).Bydefault,theseoutputfileswillbe overwritteneachtimethePipelineisexecuted.

-5-

2
Exercise 1: Working with Components
Exercise1readsintheleads.csvfileandwritesoutafilewhichreorderstheFirstNameand LastNamefieldsandleavesoutthehomeandmobilephonenumbers. Toaccomplishthis,Exercise1constructsaPipelinewithtwoComponents:AfileReaderanda fileWriter.Theoutputfilewillbenamed:ex_1_prospects.csv. Note: TheTutorialPipelinesgeneratethesampleoutputfilesex_n_prospects.csv,(forexample,ex_1_prospects.csv,ex_2_prospects.csv).When yourunyourexercises,youwilloverwritethesefiles.Toavoidthis,youcan renameyourexerciseoutputfilestobeunique.Oryoucansimplyre-runthesamplepipelinestorecreatetheoutputfilesifyouneedtoexaminethem. YourversionofSnapLogicincludesanexampleforExercise1thatillustratesallthestepsyou needtotaketocreatethenecessaryPipeline. FirstletslookattheExercise1Components, thenwellcreateitourselves.

Reviewing the Sample Leads to Prospects Pipeline


AfterinstallingSnapLogicsuccessfully,connecttoSnapLogicDesignerusingthehostnameand portnumberselectedduringtheinstallation.Forexample: http://snaplogic1.snaplogic.com:8081 Double-clickontheEx1_Leads_to_ProspectsPipelinewithintheLibrary. PipelinesandComponentsareindicatedbydifferenticons,whichalsoindicatetheirstatus. Theseicons,aswellastheothericonsusedintheclient,aredescribedinthefollowingtable. Icon Type ThisisaservericonanditappearsontheServerList. ThisisafoldericonandisusedtoorganizePipelinesandComponentsonthe mainscreen. ThisisaComponenticon. ThisisaPipelineicon. ClickontheComponentnamedLeadstoviewitsconfiguration. l ThePropertiestabcontainsfiledelimiterandoutputfilevariablesforthisComponent. Note: Inthissampleexercise,thedelimiterandfilenamearespecifiedas$?{SOMENAME}.Thesyntax(dollarsign,questionmark,andbraces)indicatestotheComponentthatthevaluesforthesepropertiesareparametersthatwillbesetat runtime.Foranexampleofthisusage,seeHands-onExercise1:CreatingComponents.

-6-

SnapLogic Tutorials

l TheOutputtabdefinestheinput.csvfilefields,datatypes,anddescriptions. l TheParameterstabassignsdefaultvaluestothedelimiterandinputfilenamevariables. l ThePreviewtaballowsyoutoseethedataproducedbytheComponent.OnlyComponentswhichare"Producers",thosewhichhavenoinputviewsandonlyoutputviews, willhavethistabpresent. Clickon theComponentnamedProspectstoviewitsconfiguration. l ThePropertiestabdefinestheoutput .csvfiletobecreated(writtenout)byspecifyingifithasaheaderrow,whatthedelimiteris,andwhatthefilenameandpathis. ThistabalsoprovidesoptionaldescriptiveinformationforthisWriterComponent. l TheInputtabspecifiesthefields(name,datatype,anddescription)thataretoberead fromtheleads.csv file. l TheParameterstabassignsvaluestothedelimiterandinputfilenamevariables. ClickonthePipeline SettingsbuttonintheupperlefthandcornerofthePipeline.Clickthe followingtabs: l TheGeneral InfotabprovidesoptionaldescriptiveinformationforthisPipelineaswell asbuttonstoaccesstheRelatedPipelinesinformationandtheScheduler. l TheParameterstabshowswhatparametersareusedinthePipeline,andwhatthe defaultvaluesshouldbe.Anyparameterwhichdoesnothaveadefaultvalueisconsideredarequiredparameter,whichmustbeprovidedwhenexecutingthePipeline. ThistabpresentsonlytheinformationthataPipelineuserwouldneed. l TheRuntabcontainstheRunbuttonwhichstartsthePipelineprocessing.Thereisalso aparameterstablethatletsyouspecifyparametersatruntimethatmightbedifferent fromthedefaultvaluesindicatedontheParameterstab. Note: ThepurpleandgreenblocksontheLeadsandProspectsComponentsare output/inputviews.Inthiscase,thepurpleblockontheLeadsComponentisan outputviewforthedatathattheComponenthasreadin.Thegreenblockonthe ProspectsComponentisaninputviewforthisWriterComponenttoobtainthe datafromtheReader. ThelinkbetweenComponentsiscreatedbyclickingonapurpleoutputboxatthebottomof oneComponentanddraggingittoagreeninputboxatthetopofanother. ClickanywhereonthelinktodisplaytheFieldlinkingpage. TheFieldLinkerletsyoumapfieldsfromthesourcetothedestination.Eachinputfieldmust belinkedbeforethePipelinecanbeexecuted.Noteveryoutputfieldmustbeusedandyou canuseanoutputfieldmorethanonce.Here,theinputfortheWriterProspectsisbeing linkedtotheoutputfromtheReaderLeads.Therearetwowaystomaketheconnections.For eachinputfieldyoucanselectanoutputfieldfromthelistofvalues.YoucanalsoclickSuggesttohavefieldswiththesamenamesanddatatypesautomaticallylinked.

-7-

Exercise 1: Working with Components

WhenyouclicktheRunbutton,thePipelineprocessestheReaderoutput,mapsitintothe Writerinput,andcreatestheex_1_prospects.csvfile.Toconfirmthattheoperationwassuccessful,opentheex_1_prospects.csvfileandseethatthefieldsyoumappedarethefield containedinthefile.

Hands-on Exercise: Creating Components


Inthisexercise,youwillstarttorecreatetheLeadstoProspectsPipelinethatisusedthrough severaloftheexercises 1. Double-clickontheCSVReaderComponentintheFoundrypane. 2. IntheURIfieldenter:SnapLogic/User/Exercise_1/LeadswhereUseristheusernameyouwishtouse. Inthisexample,andforalloftheseexercises,wewillusethenameUser.Substitute yournameforUsereverywhereitisspecifiedintheseexercisesifdesired. Note: YoucanclickontheComponentnameintheGeneral tabtoaccess theonlinehelpforthatComponent. 3. OnthePropertiestab,leavethepropertiesunchangedexceptforthefollowing.(For detailsaboutthesepropertiesyoucanlookattheCSVReadComponentReferencedocumentation.) l Specifythedelimiterastheparameter$?{DELIMITER}.Wewillspecifytheactual delimitercharacteratruntime. l Specifytheskip_linesvalueas1.Thissettingallowsustoskipthespecified numberoflineswhenreadinganinputfilethatmightcontaincolumnheaders. Sinceleads.csvcontainsaheaderrow,wewanttoskipthisrow. l Specifytheinputfilenameas$?{INPUTFILE}.Wewillspecifytheactualnameof thefileatruntime. 4. ClickSave.Savingisoptionaluntilalltheeditsaremade. AllchangesarestoredintheclientbrowseruntiltheyaresavedtotheDataServer.If youhavemadechangestoaComponent,buthavenotsavedthem,youcandiscardthe changesbysimplyclosingthePipelinestab. TheLeadsComponenttabopens. Note: TheURIthatyouspecifiedhasgeneratedafolderhierarchyinthe DataServer.ForeachsubsequentComponent,besuretousethesamepath throughouttheseexercisessotheComponentsshowupinthesamefolders. Yourscreenshouldlooklikethefollowingfigure.

-8-

SnapLogic Tutorials

ToverifywhattypeofComponentyouareworkingwith,theComponenttypeisalways displayedintheGeneral InfotabandinthePropertiestabasshowninthepreceding figure. 5. SelecttheGeneral Infotab.ThissectioncontainsfieldsforsettingtheAuthorand DescriptionoftheComponent.Thesepropertiesareinformationalonlyandareoptional. YouwillnotneedtosetanyofthesepropertiesfortheTutorialexercises. 6. SelecttheParameterstab.YoushouldseethetwoparamatersDELIMITERandINPUTFILEadded.Ifnot, clickAdd Rowtwiceandnamethem. IfyouneedhelpconfiguringtheComponent,opentheversionoftheLeadsComponent inthe"Ex1_Leads_to_Prospects"Pipeline. 7. ForINPUTFILE, ,specifytheDefaultValuecolumnastheinputpathandfilename file://tutorial/data/leads.csv.Thispointstoafileinthe/snaplogic/data/tutorial/datadirectoryontheSnapLogicServer. 8. FortheDELIMITERparameter,enter,(comma)asthedefaultvalue. 9. ClickSave.Yourscreenshouldlooklikethefollowingfigure.

AtthispointwehavespecifiedenoughinformationtoallowtheSuggestfeatureto derivetheremaininginformation.IfaComponentsupportsauto-fill,thentheSuggest buttonwillbeenabledatthebottomoftheComponenttab.TheCSVReaderComponent can,givenafilename,derivethenumberofoutputfields.Itmayalsobeableto

-9-

Exercise 1: Working with Components

recommendthecorrectdelimiter,quotecharacter,andevenfieldnamesfortheoutput view. 10. ClickSuggest. Adialogopenswiththesuggestedoutputviewandasuggestedquotecharacter. 11. AcceptthesuggestionsbyclickingontheApply All Changesbutton. ClicktheOutputtab.YoushouldseetheviewOutput1withallthefieldnamescorrectly derived.IfyouchoosenottouseSuggest,youcancreatetheoutputviewmanuallyby clickingtheAdd OutputbuttonandclickFinishtoacceptthedefaultviewname(Output1). 12. TheoutputviewoftheLeadsReaderComponentshouldmatchthefieldsinthe leads.csvfile.ClickeachnameField001,Field002,andsoon,entermeaningfulnames, andspecifytheirdatatypeasstring.AllofthefieldsoftheLeadsComponentshouldbe definedasstrings. Keepinmindthatthefieldsinleads.csvcontainthefollowingtypesofinformation: 1. First Name 2. Last Name 3. Home Phone 4. Cell Phone 5. Work Phone 6. Street Address 7. City 8. State 9. Zip Code 13. Asampleoutputdefinitionsscreenisshowninthefollowingfigure.Notethatfield namescannotcontainspaces.Useunderscorecharactersifyouwanttoconcatenate wordssuchasNet ProfitbecomesNet_Profit.

- 10 -

SnapLogic Tutorials

14. ClickValidate.ValidationchecksthatyourComponentiswell-formedandperforms checkssuchasallrequiredpropertiesaresetandthenecessaryinput/outputviewsare defined. 15. ClickSave.TheReaderisnowdefined.

Creating a Writer Component


1. NavigatetotheSnapLogic > User > Exercise_1folderintheLibrarypane. Note: BynavigatingtotheintendedlocationforanewComponent,theNew ComponentdialogwillautomaticallyincludethispathinyourURI. 2. Double-clicktheCSVWriterComponentintheComponentLibrarypane. 3. IntheURIfield,addProspectstotheendsoitreads:SnapLogic/User/Exercise_ 1/Prospects. 4. ClickOK.TheProspectsWriterComponenticondisplays,andtheProspectsComponent opensforediting. 5. SelectthePropertiestab. 6. ForHeader Presentkeepthedefaultfalse (aswedonotneedaheaderrowinthe outputfile). 7. SpecifytheDelimiteras$?{DELIMITER}. 8. SpecifytheFilenameastheparameter $?{OUTPUTFILE}.Wewillspecifytheactual nameofthefileatruntime. 9. ClickSave. 10. SelecttheGeneral Infotab.Addyournameastheauthor,andprovideadescription. Thesefieldsareoptional.ClickSave. 11. SelecttheInputtabandclicktheAdd Inputbutton. a. AcceptthedefaultnameandclickNext. b. SelectCreate a new (blank) viewandclickFinish todisplaytheInput1view. NowweneedtotelltheWritertoonlywriteoutthelastname,firstname,street address,city,state,zipcode,andworkphonenumberfromtheleads.csvfile. 12. ClickAdd Rowandenterthefieldname,datatype,anddescriptionforField001aswe defineditintheReaderOutputfielddefinitions. 13. Repeatthisforlastname,address,city,state,zip,andworkphone. Hereareseveralthingsyoushouldnotice: l Inouroutputresult,wedonotwanthomephoneorcellphone,sothosefieldsare notaddedtotheinputviewdefinition.

- 11 -

Exercise 1: Working with Components

l Wehavespecifiedlastnamefirst.Theorderoftheinputfieldsdefinestheorder inwhichtheywillbewrittenout.Thisallowsustoreorderthefieldsfrom upstreamComponents. l SomeofthefieldnamesdonotmatchexactlywiththoseusedbytheLeadsComponent(forexample,Zipvs.Zip_Code).ThisisintentionalandwillbeusedtoillustratethatexactmatchesarenotnecessarywhenlinkingComponentstogether. Note: Everyfieldyoudefineinaninputviewhastobemappedfrom upstreamviews,sodonotdefinefieldsyoudonotwant.Also,forthese exercises,allfieldshavetobespecifiedusingstringasthedatatype. 14. ClickSave. 15. ClicktheParameterstabandclickAdd Row. 16. IntheNamecolumn,changePARAM_001tobetheoutputfileparameternameweintroducedinthePropertiestab,OUTPUTFILE. 17. IntheDefaultValuecolumn,specifytheoutputfilepathandname,file://tutorial/data/ex_1_prospects.csv. 18. ClickAdd RowandrepeatfortheDELIMITERparameter. 19. ClickSave. TheWriterComponentisnowdefined.

Building the Read-Write Pipeline


NextweneedtobuildaPipelinewiththeReaderandWriterComponentstoperformadata integration. 1. ClicktheNew Pipelinebutton. 2. IntheURIfield,addthenameLeads_to_ProspectstothepathSnapLogic/User/Exercise_1/. 3. ClickOK. 4. Clickonthecanvas. TheLeads_to_ProspectsPipelineiscreatedandisopenedforediting. 5. ClicktheGeneral Infotab. 6. Entera creatoranddescriptionforthisComponent.Thesevaluesareoptional. 7. ClickthePipelinetabwithinthePipelineProperties. 8. DragtheLeadsandProspectsiconsontothegridfield(alsoknownasthePipelinecanvas). Note:WhilenamingtheComponentsaswehavedoneisoptional,itisimportantto matchthenamesusedherewiththeonesusedintheParameterMap.

- 12 -

SnapLogic Tutorials

9. ClicktheLeadsoutputviewbox(purplebox)anddragtolinktotheProspectsinputview box(greenbox). Bydefault,theFieldLinkerdialogdisplaysautomaticallywhenever youconnecttwoComponents. 10. ClickApply. 11. Mapthefields.Foreachinputviewfield,selectoneoftheavailableoutputviewfields. YoucanalsoclicktheBbutton,whichwilllinkanyfieldswhosenamesanddatatypes match. Bydefault,SmartLinkwillbeinvokedautomaticallywhenyouconnecttwoComponents together.Again,thisbehaviorcanbecontrolledinthePipelineOptions.Assomefield namesdonotmatch,linktheremainingunlinkedfields. 12. ClickSave. 13. ClickPipeline Propertiesonthecanvastoolbar. 14. ClicktheParameterstab.WearenowgoingtodefinethePipelineparametersandhow theymaptothePipeline'sComponents. WhenyoudragaComponentontothePipelinecanvas,theComponent'sparametersare automaticallymappedasPipelineparameters.Double-clickonaparametertoeditit's nameorvalue.IfyoudonotwishtoexposeaComponent'sparameter,youcandeleteit byselectingtheparameterandclickingtheRemovebutton.Toaddaparameter,you canclicktheAddbuttontoenteranewparameter.Toaddaparameter,specifyaPipelineparameternameandselecttheComponentparametertowhichitmaps,anda defaultvalueifany. 15. Editeachparameterandchangethedefaultparameternames.BydefiningtheDELIMITERparametersasINPUT_DELIMITERandOUTPUT_DELIMITER,ratherthansimply DELIMITERaswasdefinedforbothComponents,wecannowusedifferentdelimitersif weneedto.Inthiscase,wewillleavebothdelimitersasacomma.Youcanalsousinga singlepipelineparameterandmapittomultipleComponentparameters.Forexample, ifyouknowthatallinputfilesusecommaasthedelimiter,youcouldmapasingle parameterFILE_DELIMITERtobothComponentDELIMITERparameters. 16. IntheDefault Valuefield,enterthevaluetobeusedwhenrunningthePipeline. 17. ClickSave. 18. ClicktheRuntab. TheRuntabcontainsthreesub-tabs,Run,PreviewDataandRuntimeInformation.The ParameterstableintheRunsub-tabispopulatedwiththeparameterstobeusedinthis Pipeline.Noticethatthedefaultvaluesappearinthetable. 19. Ifwewantedto,wecouldchangethevaluesrighthereontheRuntabandrunit. 20. ClicktheRunbutton. ThePipelinewillreadinthedataspecifiedintheReaderComponentandwriteittothe filespecifiedintheWriterComponent(ex_1_prospects.csv).ThestatusofthePipe-

- 13 -

Exercise 1: Working with Components

line'sexecutionisdisplayedintheRuntimeInformationsub-tab.Youcanaccess detailedinformationbyclickingontherowtoaccesstheShowLogmenu. 21. VerifythatthePipelineperformedthistaskbyopeningtheoutputfileandverifyingthat theFirst,Last,...Cityfieldsdisplayproperly. NoticethatwehaveachievedthegoalofcreatingaprospectsoutputfilefromtheoriginalleadsinputfilewheretheFirstNameandLastNamecolumnshavebeenreordered andwhichcontainsjusttheworkphonenumbersforalltheleads.Alsonoticethatthe inputfilecontains1,000records.Theoutputfilealsocontains1,000records. Note: Iftheex_1_prospects.csvfiledoesnotappearasexpected,openthe Show Logmenufortheruntoseeiftherewasanerror.

- 14 -

SnapLogic Tutorials

- 15 -

3
Exercise 2: Filtering Data
Exercise2duplicatestheComponentsfromExercise1andcreatesanotherPipelinethatfilters theleadstoincludeonlythoseinCalifornia.Toaccomplishthis,theFilterLeadsComponent examinestheStatecolumnintheleads.csvfileforthevalueequaltoCA.Thefilteredoutput iswrittentothefilenamedex_2_prospects.csv. Note: TheTutorialPipelinesgeneratethesampleoutputfilesex_n_prospects.csv,(forexample,ex_1_prospects.csv,ex_2_prospects.csv).When yourunyourexercises,youwilloverwritethesefiles.Toavoidthis,youcan renameyourexerciseoutputfilestobeunique.Oryoucansimplyre-runthesamplepipelinestorecreatetheoutputfilesifyouneedtoexaminethem. YourversionofSnapLogicincludesanexampleforExercise2thatillustratesthestepsto createthenecessaryComponentsandlinkthemwiththePipeline. ThisexercisewillshowyouhowtocreatethesetwoComponents,howtoduplicateandmodify theLeadsandProspectsComponentsfromExercise1,andcombinetheFilterLeadsComponentwiththeLeadsandProspectsComponentsinanewPipelinethatwillfilteroutallthe non-Californialeads. FirstletslookattheExercise2components,thenwellgocreateitourselves.

Reviewing the California Prospects Pipeline


Double-clickthepipelineEx2_CA_ProspectsanditwillopenupintheCanvas.TheComponentsusedinthisexercisewillbethesameonesusedforExercise1.Wewillreusethe LeadsComponentexactlyasitwasconfiguredinExercise1,butwewillspecifyaruntime parameterfortheProspectsComponentsothatitcanwritetoadifferentfile. ClickthePipeline PropertiesbuttonfortheEx2_CA_ProspectsPipelinetoseewhatthePipelineincludes.Clickthefollowingtabs: l TheGeneral tabprovidesdescriptiveinformationforthisComponent.Thisdatais optional. l TheInputtabdefinesthestructureofthedatathatisprovidedbytheupstreamComponentsintothePipeline.Inthisexercise,thePipelinegetsitsdatafromaCSVReader Componentthatreadsitfromalocalfile.ThatisdifferentfromdatathatentersaPipelinefromoneofitsinputviews.SincethereisnoupstreamComponentfeedingthePipeline,therearenoinputviews. l TheOutputtabdefinesdataexitingthePipeline.Inthisexercise,thePipelinehasa CSVWriterComponentthatwritesthedatatoalocalfile.Sincenodataisexitingthe Pipelinedirectly,ithasnooutputviews.

- 16 -

SnapLogic Tutorials

l TheParameterstabshowswhatparametersareusedinthePipeline,andwhatthe defaultvaluesareifany. l TheRuntabcontainstheRunbuttonwhichstartsthePipelineprocessing.Thereisalso aparameterstablethatletsyouspecifyparametersatruntimethatmightbedifferent fromthedefaultvaluesindicatedontheParameterstab. ThepurpleblockontheLeadsComponentisanoutputviewandthegreenblockontheFilterLeadsComponentisaninputview.ThelinkbetweenthemiscreatedbyclickingonaComponentthatcangenerateoutputanddraggingtoanotherComponent.Inthiscase,youclick LeadstodrawalinktoFilterLeads.YoucannotlinkProspectstoFilterLeadsbecausethe WriterComponentdoesnotprovideoutput. Nowdouble-clicktheFilterLeadsComponent: l ThePropertiestabdefinesthefieldtobeusedtofilterdata,itsvalue,andtheconditiontobemet.Inthisexample,tofindalltheCalifornialeads,weneedtospecifythat theColumnbeState,thevaluebeCA,andtheconditionbe==. l TheInputtabdefinesthestructureofthedatathatisprovidedbytheupstreamComponentsintotheFilter. l TheOutputtabdefinesthestructureofthedatafromtheFilterLeadsComponent.In thisexercise,Filteroutputviewshouldmatchitsinputview. ClickthelinkbetweentheLeadsComponentandtheFilterLeadsComponenttodisplaythe FieldLinker. ThefieldscominginfromtheReaderLeadsaremappedheretofieldsintheFilterLeadsinput viewbyclickingonthefieldsintheIncomingfields(availabletomap)panelanddragging themtotheFrompanel.ThenthesearematchedtotheFilterLeadsfieldsbydragging UnmappedoutgoingfieldstothecorrespondingTopanelsuchthatFromfieldsareonthe samelineasthefieldstherearegoingTo. ClickanywhereonthelinkbetweentheFilterLeadsComponenttotheProspectsComponentto displaytheLinkmenuandselectField LinkingtodisplaytheFieldLinkingpage. ThefieldscominginfromtheFilterLeadsaremappedheretofieldsintheWriterProspectsby clickingonthefieldsintheIncomingfields(availabletomap)panelanddraggingthemtothe Frompanel.ThenthesearematchedtotheWriterfieldsbydraggingUnmappedoutgoing fieldstothecorrespondingTopanelsuchthatFromfieldsareonthesamelineasthefields therearegoingTo. WhenyouclickRun,thePipelineprocessestheReaderoutput,passesitthroughtheFilterand intotheWriterinput,thencreatestheex_2_prospects.csvfile.Youshouldseethattheoutputresultcontains675records. NowletscreatetheComponentsinExercise2.

Hands-on Exercise: Creating a Filter Component


1. Double-clicktheFilterComponentintheFoundrypane. 2. SpecifytheURIasSnapLogic/User/Exercise_2/FilterLeads.

- 17 -

Exercise 2: Filtering Data

3. ClickOK. 4. SelecttheInputtab,clicktheAdd Inputbutton,andclickNextontheView Name pop-uptostarttheviewcreationwizard.Hereyouwillbeabletochoosebetweencreatinganewview,justlikewedidinExercise1,orcopyinganexistingviewfrom anotherComponent. 5. SelecttheCopy an Existing viewoptionandthenclickNext. 6. NavigatetotheExercise1LeadsComponentyoucreatedinthefirsttutorial.Whenyou selectaComponent,thewizardwilldisplayalistofanyinputoroutputviewsithas. Whenyouplaceyourmouseoveraview,youwillgetabriefsummaryofthefieldsin thatview.SelecttheoutputviewOutput1andclickFinish.Theoutputviewdefinition willbecopiedfromyourLeadsComponent. 7. WedonotrequirethePhone_handPhone_mfieldsinthisComponentsoclickthe"X" besidethoserowstodeletethefieldsfromthisview. 8. ClickSave. 9. ClicktheOutputtab. 10. RepeatthestepsyouperformedtodefinetheinputviewInput1tocreatetheoutput viewOutput1,butinsteadofcopyingtheviewfromtheLeadsComponent,justcopythe inputviewofyourFilterComponent. 11. ClickSave. 12. ClickthePropertiestab. 13. Specifythepropertiestobe: l Field:State l Operator:== l Value:CA l View:Output1 AnyComponentwhichdefinesapropertyasbeinganinputviewfieldnamewillpopulate thelistofvaluesforthatpropertywithvaluesderivedfromanyinputviewitfindsatthe time.Thelistofvalueswillbeemptyifnoinputviewhasbeendefinedyet.Youmust definetheinputviewfirstbeforeattemptingtoenteravaluefortheproperty.This restrictionappliestopropertieswhichreferenceinputoroutputviewnamesorfield names. 14. ClickClose. ThiscreatesaFilterLeadsComponentthatwillsearchtheStatecolumnoftheincoming datastreamandselectallrecordsthathaveCAasthestatename. 15. ClicktheGeneral Infotabandenteranauthorname,anddescriptionthenclickSave. Thesevaluesareoptional.

- 18 -

SnapLogic Tutorials

16. SkiptheParameterstab.SincewehavenotdefinedanyparametersforthisComponent,donotmakeanychangestothistab. TheFilterisnowdefined.

Duplicating Components
Duplicating a Reader Component
TheLeadsComponentcreatedinyourExercise1folderisthesameaswhatweneedfora Readerinthisexercise.SoletsduplicatethatversionoftheReaderanduseithere. ThisstepdivergesfromthesampleTutorialversionofExercise2inthatthereisnoLeads Componentduplicatedinthesampleversion.InthesampleversionofExercise2,yousimply dragtheLeadsiconfromtheExercise1folderanddropitontheExercise2Pipelinecanvas. Bothmethodsarevalid.However,theinstructionsinthisHands-onsectionassumethatyou duplicatetheLeadsComponent.DuplicatingaComponentallowsyoutomodifyaComponent withoutaffectingthepipelinesthatreferencetheoriginalComponent. YoucanalsoCTRL+Dragitemswithinthetreetocreateduplicates,orusethe"Copy"commandfromthe"Edit"menu. 1. Double-clicktheLeadsComponenticonfromTutorialExercise1toopenit. 2. SelectSave AsfromtheSavemenubutton. 3. FromtheSaveComponentAs...pop-up,specifytheURISnapLogic/User/Exercise_ 2/Leads. 4. ClickOK. TheduplicatedLeadsComponentappearsintheLibrary. SincetheLeadsReaderwillfunctionexactlyasitdidinExercise1(thatis,readinginthe fieldsfromtheleads.csvfile)wecanleaveitsProperties,BasicProperties,Output,and Parametersunchanged.

Duplicating a Writer Component


TheProspectsComponentcreatedinyourExercise1foldercanbeusedastheWriterComponentinthisexercise.SoletscopythatWriterComponent. 1. ClicktheProspectsComponenticonfromTutorialExercise1. 2. SelectSave AsfromtheSavemenubutton. 3. FromtheSaveAs...pop-up,specifytheURISnapLogic/User/Exercise_2/Prospects. 4. ClickOK. SincetheProspectsWriterwillfunctionasitdidinExercise1,andbecausewehaveused parametersfortheoutputfile(whichwecanchangeatruntimefrom ex_1_prospects.csvto ex_2_prospects.csv)wecanleaveitsProperties,BasicProperties,Output,andParameters unchanged.

- 19 -

Exercise 2: Filtering Data

Building the Read-Write-Filter Pipeline


NextweneedtolinktheLeads,Prospects,andFilterLeadsComponentsinanewPipelineto processthedata. 1. ClicktheNew Pipelinebutton. 2. SpecifytheURIasSnapLogic/User/Exercise_2/CA_Prospects. 3. ClickOK. 4. DragtheFilterLeadsComponentontothePipelinecanvas. 5. DragyourLeadsandProspectsComponentsontothePipelinecanvas. 6. LinktheLeadsReadertotheFilterLeadsComponent. Bydefault,theFieldLinkerdialogappears,andallofthefieldswillbemappedautomaticallybecauseamatchingfieldnamewasfoundforeachTofield. 7. ClickOKwhenfinished. 8. LinktheFilterLeadsComponenttotheProspectsWriter. 9. WhentheLinkdialogappears,someoftheTofieldswillremainunmappedbecausethe Fromfieldnamesdonotmatchexactly.MaptheFromfieldstotheremainingunmapped Tofields. 10. ClickOKwhenfinished. 11. FromthePipeline,clicktheParameterstab. 12. Edittheparametersandchangethedefaultnamesandvaluesasfollows.Specifythe Readerinputfile,theWriteroutputfile,andthedelimiters(commas)forbothComponents. Pipeline Parameter PARAM_000 PARAM_001 PARAM_002 PARAM_003 13. ClickSave. 14. ClicktheRuntab. ThePipelineParameterstable isnowpopulatedwiththeparameterstobeusedinthis Pipeline.Noticethatthedefaultvaluesappearinthetable.Ifwewantedto,wecould changethevaluesrighthereontheRuntabandrunit. 15. ClickRun Pipeline Now. ThePipelinewillreadinthedataspecifiedintheLeadsReaderComponent,applythefilteringcriteriatopassontherecordswithCAastheStatevalueandwritethemtothe filespecifiedintheProspectsWriterComponent(ex_2_prospects.csv). Mapped to Leads_1.DELIMITER Leads_1.INPUTFILE Prospects_1.outPUTFILE Prospects_1.DELIMITER , file://tutorial/data/leads.csv file://tutorial/data/ex_2_prospects.csv , Default Value

- 20 -

SnapLogic Tutorials

16. Openex_2_prospects.csvtoverifythefilteredresults.Youshouldseeonlythe675 leadsthathaveCaliforniaaddresses.

- 21 -

4
Exercise 3: Data Services
Exercise3startswithalloftheCalifornia-basedleadsandaddsinformationaboutincomelevelsbyzipcode.ThisexerciseintroducestheconceptofaDataServicePipeline.ADataServicePipelineisonethatprovidesafeedofdatathatcanbeusedbyotherPipelinesorother applications.DatafromthesepipelinescanbepresentedindifferentRepresentationswhen usedbyotherapplications.WewillcreateasimpleDataServicePipelinethatprovidesafeed ofincomedatatakenfromthefileCAIncomeByZip.csv.Next,wewillintroduceaJoinComponentthatreadstheincomedatafromtheDataServicefeedandjoinsit(looksup)withthe filtereddatafromtheleadsLeadsandFilterLeadsComponents.Itthenwritestheoutputtoa filenamedex_3_prospects.csv.Thisfilestillincludesalloftherecordsfromex_2_prospects.csv,butthistime,incomeinformationisadded. Note: TheTutorialPipelinesgeneratethesampleoutputfilesex_n_prospects.csv,(forexample,ex_1_prospects.csv,ex_2_prospects.csv).When yourunyourexercises,youwilloverwritethesefiles.Toavoidthis,youcan renameyourexerciseoutputfilestobeunique.Oryoucansimplyre-runthesamplepipelinestorecreatetheoutputfilesifyouneedtoexaminethem. YourversionofSnapLogicincludesanexampleforExercise3thatillustratesallthestepsyou needtotaketocreatethenecessaryComponentsandlinkthemwiththePipeline. FirstletslookattheExercise3components,thenwellgocreatethemourselves.

Reviewing the Census Feed and Qualified California Pipelines


FromtheDataServericon,youshouldseetheEx3_CensusFeedandEx3_Qual_CA_Prospects Pipelines. Double-clickCensusandthefollowingtabsareavailable: l ThePropertiestabdefinesthefiledelimiterandoutputfilename.Italsoprovides descriptiveinformationforthisReaderComponent.Thisdataisoptional. l TheOutputViewstabdefinestheCSVfilefields,datatypes,anddescriptions. l TheParameterstabdefinesthevaluesofthefiledelimiterandoutputfilename. Double-clickProspectsandthefollowingtabsareavailable: l ThePropertiestabdefinestheoutputCSVfiletobecreated(writtenout)byspecifying ifithasaheaderrow,whatthedelimiteris,andwhatthefilenameandpathis.Thistab alsoprovidesdescriptiveinformationforthisWriterComponent.Thisdataisoptional. Thedelimiterandfilenamearespecifiedas$?{SOMENAME}.Thedollarsign,question

- 22 -

SnapLogic Tutorials

mark,andbracesindicatetotheComponentthatthevaluesforthesepropertiesare parametersthatwillbesetatruntime(thatis,whenthePipelineprocessesassociated Components). l TheInputtabspecifiesthefields(name,datatype,anddescription)thataretobe writtentotheoutputfile.ThismatchesthefieldsdefinedintheReaderOutputtab. l TheParameterstabdefinesthevaluesofthefiledelimiterandoutputfilename. Double-clickJoinandthenclick: l ThePropertiestabdefinesthejoinexpressionsandthefieldaliasingproperties.It alsoprovidesoptionaldescriptiveinformationforthisWriterComponent. TheJoinExpressionsdialogcontainsthelistofexpressionsusedtojointheinputviews. Ifthereismorethanonesuchexpression,thereisanimplicitANDbetweenthem.A joinexpressiontakesthefollowinglogicalform: (Input1.name == Input2.name). TheAliasesdialogisusedtodisambiguatetheoutputviewfieldnames.Sincetheinput viewsthatarebeingjoinedoftenhavefieldsofthesamename,inordertodistinguish thesefields,anyambiguousoutputfieldsmustbealiased.Afully-qualifiedinputfieldis givenanalias,whichishowthisfieldwillberepresentedintheoutput.Forexample, consideraJoinComponentwith l twoinputviews:Input1:name,zipandInput2:name,company.Thesewillbe joinedbyname,(Input1.name=Input2.name) Andanoutput:name,company,zip. Joinneedstoknowwhichofthesenamesshouldbeusedfortheoutput.ThatiswhatAliasesspecify. l TheInputtabsspecifythefields(name,datatype,anddescription)thataretoberead fromthe leads.csvandCAIncomeByZip.csvfile. l TheOutputtabspecifiesthefields(name,datatype,anddescription)thataretobeoutputfromtheJoinComponent. l TheParameterstabdefinesanyparametersusedbytheComponent.Inthisexample theJoinComponentdoesnotuseanyparameters. Double-clicktheCensusFeedPipelinetoseewhatthePipelineincludes.Clickthefollowing tabs: l TheGeneral InfotabprovidesdescriptiveinformationforthePipeline.Thisdatais optional. l TheInputtabdefinesthestructureofthedatathatupstreamComponentsprovideto thePipeline.Inthisexercise,thePipelinegetsitsdatafromaCSVReaderComponent thatreadsitfromalocalfile.ThatisdifferentfromdatathatentersaPipelinefromone ofitsinputviews.SincethereisnoupstreamComponentfeedingthisPipeline,thereare noinputviews.

- 23 -

Exercise 3: Data Services

l TheOutputtabdefinesdataexitingthePipeline.TheCensusFeedPipelineisdirecting theoutputfromtheCensusComponent'soutputviewOutput001tothePipeline'soutput viewOutput1. l TheParameterstaballowsyoutodefinethePipelineparametersandmaptheparameterstothePipeline'sComponents. l ThePipelinetabshowsthe singleComponent. l TheRuntabcontainstheRunbuttonwhichstartsthePipelineprocessing.Thereisalso aparameterstablethatletsyouspecifyparametersatruntimethatmightbedifferent fromthedefaultvaluesindicatedontheParameterstab. Double-clicktheQual_CA_ProspectsPipelinetoseewhatthePipelineincludes.Clickthefollowingtabs: l TheGeneral InfotabprovidesdescriptiveinformationforthePipeline.Thisdatais optional. l TheInputtab,liketheCensusFeedPipelineabove,definesnoinputviews. l TheOutputtabdefinesdataexitingthePipeline.Inthisexercise,thisPipelinehasa CSVWriterComponentthatwritesthedatatoalocalfile.Sincenodataisexitingthe Pipelinedirectly,ithasnooutputviews. l TheParameterstaballowsyoutodefinethePipelineparametersandmaptheparameterstothePipeline'sComponents. l ThePipelinetabshowshowtheComponentsarelinked. l TheRuntabcontainstheRunbuttonwhichstartsthePipelineprocessing.Thereisalso aparameterstablethatletsyouspecifyparametersatruntimethatmightbedifferent fromthedefaultvaluesindicatedontheParameterstab. ClickthelinkfromLeadstoFilterLeadstodisplaytheLinkmenuandselectFieldLinkingtodisplaytheFieldLinkingpage. ThefieldscominginfromtheLeadsaremappedheretofieldsintheFilterLeadsbyclickingon thenamesintheIncomingfields(availabletomap)panelanddraggingthemtotheFrom panel.ThenthesearematchedtotheFilterLeadsfieldsbydraggingUnmappedoutgoingfields tothecorrespondingTopanelsuchthatFromfieldsareonthesamelineasthecorresponding Tofieldnames. ClickthelinkfromCensusFeedtoJoinandselectFieldLinkingtodisplaytheFieldLinking page. ThefieldscominginfromCensusFeed(theDataServicePipeline)aremappedheretofieldsin Join. WhenyouclickthelinkfromFilterLeads(theFilterComponent)toJoin(theJoinComponent) andselectFieldLinkingtodisplaytheFieldLinkingpage,youseehowthefilteredfieldsfrom FilterLeadsaremappedtotheJoinComponentwiththefieldsinCensus. TounderstandhowJoincombinestheFilterLeadsandCensusfields,leftclickthelinkfrom JointoProspects.SelectField LinkingtodisplaytheFieldLinkingpage.

- 24 -

SnapLogic Tutorials

Noticethatforthisexercise,theinputviewoftheProspectsComponenthasbeenchangedto includethenewfield:MoreThan50K. WhenyouclickRun,thePipelineprocessesthedatafromtheLeadsandCensusComponents, andsendsthedatatotheProspectsComponent,whichcreatestheex_3_prospects.csvfile. NowletscreatetheComponentsinExercise3.

Hands-On Exercise: Data Services


ThisexerciseusestwoReaderComponentstoreaddatafromtwodifferentsourcefiles.We reusethefiltereddatafromExercise2,createanewReaderComponenttoreadindatafrom anothersourcefile,thenjointhetwodatasourcestowriteoutthedesiredfile.TheWriter ComponentinthisexerciseisverysimilartotheWriterComponentwecreatedinExercise2, sowecanduplicateittosavetime.

Creating a Data Service Component


1. Double-clicktheCSVReaderComponentintheComponentLibrarypane. 2. NametheURISnapLogic/User/Exercise_3/Census. 3. ClickOK. 4. ClickthePropertiestab. 5. SettheDelimiterto$?{DELIMITER}. 6. SettheFile nameto$?{INPUTFILE}. Ratherthanexplicitlydefiningthedelimiterandtheinputfilename,weuseparameters thatcanbedefinedatruntime. 7. SetSkip linesto1.Thedatafilecontainsaheaderrowthatwewanttoskip.Leavethe otherpropertysettingsunchanged. 8. ClickSave. 9. ClicktheParameterstabandconfirmthattheDELIMITERandINPUTFILEparameters arelisted. 10. ClickSave. 11. SelecttheOutputtab,clicktheAdd Output. 12. Acceptthedefaultnameandcreatetheviewbasedonablankview. TheoutputviewfortheCensusReaderComponentrequiresthatyoudefinethefivecolumnsinCAIncomebyZip.csvandassignmeaningfulnames.Thefieldsare: l Zip l LessThan10K l MoreThan10K l MoreThan25K l MoreThan50K

- 25 -

Exercise 3: Data Services

13. ClickAdd Rowfivetimesandassignfieldnamesanddatatypesasfollows. Field Name Zip LessThan10K MoreThan10K MoreThan25K MoreThan50K Type string number number number number ZipCode Incomelessthan$10Kperyear Incomebetween$10Kand$25K Incomebetween$25Kand$50K Incomegreaterthan$50K Description

Forthepurposesofthisexample,thedatatypeforZipmustbestringforthisexercise toworkcorrectly.Theremainingfieldsmustbenumbertypes. 14. ClickSave. TheCensusReaderisnowdefined.NextwewillcreatetheData ServicePipelineincorporatingtheCensusComponent. 15. ClicktheNew Pipelinebutton. 16. IntheURIfield,enterSnapLogic/User/Exercise_3/CensusFeed. 17. ClickOK. TheCensusFeedPipelinetabshouldopen. 18. DragtheCensusComponentontothePipelinecanvas,namingitCensus. 19. ClickSave. 20. ClickPipeline Properties. 21. IntheOutputtab,clicktheAddbutton. 22. NamethePipelineoutputviewOutput001andmapittoCensus.Output1,thenclickFinish. 23. ClickSave. 24. ClicktheParameterstabandedittheparameterdefinitionstomatchthefollowing: l Pipeline Parameter:INPUT_DELIMITER l Mapped To:Census.DELIMITER l Default Value:, l Pipeline Parameter:CENSUS l Mapped To:Census.INPUTFILE l Default Value:file://tutorial/data/CAIncomeByZip.csv 25. ClickSave. 26. ClicktheRuntab.IntheRunsub-tab,youcanseethatthePipelinehasanoutputview availabletoreadfrom.

- 26 -

SnapLogic Tutorials

27. ClickthePreviewbutton.ThiswillrunthepipelineandsendthePipeline'soutputtothe Previewsub-tab. 28. ClickthePreview Datasub-tabtoseethedataoutputbythedataservice. AnotherwaytodemonstratetheutilityoftheDataServicePipelineistoviewitdirectlyfrom anotherbrowserwindow.OpenanewbrowserwindowandentertheURIasfollows: http://servername:8088/feed/SnapLogic/User/Exercise_3/CensusFeed/Output001?sn.content_type=text/html where servername:8088isreplacedwiththenameandportofyourSnapLogicDataServer. The/feed prefixisnecessarytoindicatetotheserverthataGETtothisURIwilltriggerPipelineexecution.Theviewnamesuffixishowyouselectwhichoutputisbeingrequested.The browser'sHTTPrequestwillstarttheCensusFeedPipelineandreturntheoutputviewdata fromOutput001inasimpleHTMLrepresentation.Formoreinformationonavailablerepresentations,seethesectionentitled"OutputDataRepresentationFormats"intheSnapLogic UserGuide. YoucanalsoswitchtotheGeneral tabandclickontheComponenthyperlinktoaccessalist ofavailablefeeds.Foryourconvenience,theDesignerwilllaunchtheseinanewwindow whenclicked.

Creating a Join Component


1. Double-clicktheJoinComponentintheFoundrypane. 2. NametheURISnapLogic/User/Exercise_3/JoinandclickOK. 3. SelecttheInputtabandclicktheAdd Inputbutton. 4. ClickNexttousetheViewCreationWizardtocopytheoutputview(Output1)fromyour FilterLeadsComponentfromExercise2.YoushouldhavethefieldsFirst,Last,Phone_w, Address,City,State,andZipdefined. 5. RepeatthesestepstocreateanInput2,copyingtheoutputviewfromyourCensusFeed Pipeline. Input2matchestheoutputviewoftheCensusReaderResource,Output001.Youshould havedefinedZip,LessThan10K,MoreThan10K,MoreThan25K,andMoreThan50Kfields. 6. ClickSave. 7. SelecttheOutputtabandcopyyourInput1inputviewandmanuallyaddtheMoreThan50Kfieldaftertheviewhasbeencopied. 8. SelectthePropertiestab. 9. ClickView/EdittosettheAliasessettings. 10. ClickAdd row.

- 27 -

Exercise 3: Data Services

11. Enterthefollowingvalues: l IntheFullyQualifiedFieldcolumn,selectInput1.Zip. l IntheOutputFieldcolumn,selectZip. 12. ClickClose. 13. ClickView/EdittosettheJoinExpressionssettings. 14. ClickAdd row. 15. Enterthefollowingvalues: l IntheJoinField1column,selectInput1.Zip. l IntheJoinField2column,selectInput2.Zip. 16. ClickClose. 17. ClickSave. 18. SelecttheGeneral Infotab.Fillintheauthoranddescriptionfieldsasdesiredand clickSave.Thesefieldsareoptional. TherearenoparametersdefinedforthisComponent,soyoucanleaveitunchanged. 19. ClickSave. TheJoinComponentisnowdefined.

Duplicating a Writer Component


TheProspectsComponentcreatedinyourExercise1folderisclosetowhatweneedfora Writerinthisexercise,soletsmakeacopyofthatversionoftheWriterandmodifyithere. 1. Double-clickontheProspectsComponentfromTutorialExercise1. 2. SelectSave AsfromtheSavemenubutton. 3. FromtheSaveResourceAs...dialog,selecttheURISnapLogic/User/Exercise_3/Prospects. 4. ClickOK. 5. SelecttheInputtab.BecausewecopiedthisComponent,weneedtoaddarowtoadd theMoreThan50Kfield.Thefieldtypeforthisfieldmustbenumber. DonotusetheDeletebuttonforeditingasthisdeletestheentireComponent.Ifyou wishtodeletearowfromtheoutputview,clickthe'''X'''buttontotheleftoftherow youwishtoremove. 6. SelecttheParameterstab.Again,sincewecopiedthisComponent,thevalueshere arealmostcorrectforourneeds.WejustwanttochangethedefaultvalueforOUTPUTFILEtobefile://tutorial/data/ex_3_prospects.csv. YourParameterstabshouldcontainthefollowinginformation.

- 28 -

SnapLogic Tutorials

Parameter Name DELIMITER OUTPUTFILE ,

Default Value file://tutorial/data/ex_3_prospects.csv

7. ClickSave. TheProspectsComponentisnowdefined.

Building a Data Service Pipeline


NextweneedtobuildaPipelinewiththetwoReaderComponentslinkedtotheJoinComponents,whichisinturnlinkedtotheWriterComponenttoperformajoin. 1. ClicktheNew Pipelinebutton. 2. IntheURIfield,enterSnapLogic/User/Exercise_3/EX3_Qual_CA_Prospects. 3. ClickOK. 4. DragtheLeadsComponentfromExercise1,theFilterLeadsComponentfromExercise 2,andtheJoinandProspectsComponentsandtheCensusFeedPipelinecreatedinthis exerciseontothePipelinecanvas.NametheComponentsasyoudropthemontothecanvastomatchtheirURInames. 5. ClickonthepurpleoutputviewofLeadsanddragtolinktoFilterLeads.TheFieldLinker dialogappearsandallfieldsshouldbeautomaticallylinked. 6. ClickOK. 7. LinkFilterLeadstoJoin. 8. SelecttheInput1inputview,thenclickOK.Againallfieldsshouldbeautomatically linkedintheFieldLinkerdialog. 9. LinkCensusFeedalsotoJoin. 10. SelecttheInput2inputviewandclickOK.AllfieldsshouldbelinkedintheFieldLinker dialog. 11. LinkJointoProspects. Autolinkingwasnotabletomatchallfields,somanuallymapanyremainingunlinked fieldsbyselectingtheappropriatefieldnamesfromthelistofvaluestotheleftofeach field. Forexample,fortheWork_Phonefield,manuallyselectPhone_wfromthelist. Whencompletethefieldsshouldbelinked. 12. FromthePipeline,selecttheParameterstab.

- 29 -

Exercise 3: Data Services

13. Edittheparameterdefinitionsasfollows. Pipeline Parameter LEADS CENSUS PROSPECTS Mapped to Leads.INPUTFILE CensusFeed.CENSUS Default Value file://tutorial/data/leads.csv file://tutorial/data/CAIncomeByZip.csv , , ,

Prospects.OUTPUTFILE file://tutorial/data/ex_3_prospects.csv

INPUT1_DELIM-Leads.DELIMITER ITER INPUT2_DELIM-CensusFeed.INPUT_ ITER DELIMITER OUTPUT_ DELIMITER Prospects.DELIMITER

14. NotethatwehavedistinguishedtheinputdelimitersasINPUT1_DELIMITER,INPUT2_ DELIMITER,andOUTPUT_DELIMITERtogiveustheoptionofdefiningthemuniquely shouldtheneedarise.Forthisexercise,allthedelimitersarecommas. 15. ClickSave. 16. SelecttheRuntab. 17. SelecttheRunsub-tab. ThePipelineParameterstableisnowpopulatedwiththeparameterstobeusedinthis Pipeline.Noticethatthedefaultvaluesappearinthetable.Ifnecessary,wecould changethevalueshere. 18. ClickRunbutton. ConfirmationthatthePipelineisstartingisprovidedonthestatuslineintheRuntime Informationsub-tab. VerifythatthePipelineperformedthistaskbyopeningtheoutputfileex_3_prospects.csv andverifyingthattheMoreThan50Kfieldhasbeenadded. WehaveaccomplishedthegoalofcreatingaDataServicePipelineandusingitaspartof anotherPipeline,whichtakesthedataintheoriginalleadsinputfile,refiningittoyieldjust theworkphonenumbersforalltheleadsandanewcolumnhasbeenpopulatedwithcensus dataforeachZipcode.(ThisnewcolumnshowsthepercentageofpeopleinaZipCodewho makemorethan$50,000ayear.)

- 30 -

SnapLogic Tutorials

- 31 -

5
Exercise 4: Data Sorting
Exercise4filtersandsortsjoineddatabasedonzipcodeswhere25%ormoreofhouseholds haveanincomegreaterthan$50,000.Theresultsarewrittentoafilenamedex_4_prospects.csv.

Reviewing the Filtered Qualifying California Prospects Pipeline


IntheLibrary,youwillseetheEx4_Filtered_Qual_CA_ProspectsPipeline.Letstakealookat theComponentsusedinthisPipeline,thenwellgocreateitourselves. Double-clicktheEx4_Filtered_Qual_CA_ProspectsPipelineintheLibrary.Thiswillopenthe PipelineinanewCanvastab.InadditiontoComponentsusedinpreviousexercises,youwill seetheFilterProspectsandSortProspectsComponents. Double-clickFilterProspectsandthenclick: l TheGeneral InfotabprovidesdescriptiveinformationforthisComponent.These fieldsareoptional. l ThePropertiestabiswhereyoudefinethefiltercriteriausedbythisComponent.In thisexample,wefilterforzipcodeswhereatleast25%ofhouseholdshaveincomes greaterthan$50,000.Todothis,wedefineafilterexpressiontocheckwhenthevalue oftheMoreThan50Kisgreaterthanorequalto0.25. l Intheseexercises,zipcodeisdefinedasastringdatatype. l TheInputtabdefinesthefieldsconsumedbythisComponent. l TheOutputtabspecifiesthefieldsoutputbythisComponent. l TheParameterstabshowsparametersusedbythisComponentaswellastheir optionaldefaultvalues. Double-clickSortProspects. l TheGeneral InfotabprovidesdescriptiveinformationforthisComponent.These fieldsareoptional. l ThePropertiestabiswhereyoudefinethesortingcriteriausedbythisComponent.In thisexample,wewillbesortingbasedonthefollowingfields:MoreThan50K(primary key),Zip_Code(secondarykey). l TheInputtabdefinesthefieldsconsumedbythisComponent. l TheOutputtabspecifiesthefieldsoutputbythisComponent.

- 32 -

SnapLogic Tutorials

l TheParameterstabshowsparametersusedbythisComponentaswellastheiroptional defaultvalues. ClickthePipeline Propertiesbutton. l TheGeneral InfotabprovidesdescriptiveinformationforthisPipeline.Thesefields areoptional. l TheInputtabdefinesthefieldsconsumedbythisPipeline.NoInputViewsareusedby thisPipeline. l TheOutputtabspecifiesthefieldsoutputbythisPipeline.NoOutputViewsareusedby thisPipeline. l TheParameterstabshowsparametersusedbythisComponentaswellastheir optionaldefaultvalues. TheCensus,Leads,FilterLeads,andJoinComponentsandusedinthisPipelineandtheirfield mappingsareidenticaltohowtheyaredefinedinExercise3.Thefollowinginformation focusesonwhathasbeenintroducedinthisexercise. ClickthelinkbetweentheJoinComponentandFilterProspectsComponent.Thisdisplaysthe followingfieldmappings:

NowclickthelinkbetweentheFilterProspectsComponentandSortProspectsComponent.You willseethefollowingfieldmappings:

Lastly,clickthelinkbetweentheSortProspectsComponentandProspectsComponent.This willshowthefollowingfieldmappings: RunningthisPipelineresultsinlistof112recordswrittentoafilenamedex_4_prospects.csv.TheserecordsexactlysatisfythecriteriathatthequalifyingleadsmustliveinCal-

- 33 -

Exercise 4: Data Sorting

iforniaandresideinzipcodeswithatleast25%ofhouseholdshavinganincomegreaterthan $50,000. NowthatyouvehadanopportunitytoreviewtheComponentsusedinthisexercise,lets createthisPipelinefromscratch.

Hands-on Exercise: Sorting Data


ThissectionexplainshowtobuildtheComponentandgeneratetheoutputcontainedinthe Tutorial/Exercise_4folders.Ifyouneedadditionalinformationatanytimeduringthis hands-onportionofthisexercise,feelfreetoopenandexamineeachoftheTutorialversions oftheseComponents.

Duplicating a Writer Component


1. OpentheEx3_Qual_QA_ProspectsPipeline. 2. Double-clicktheProspectsComponent. 3. Duplicate(SaveAs)theComponentasSnapLogic/User/Exercise_4/Prospects. 4. InthenewProspectsComponent,clicktheParameterstab. 5. ChangetheDefaultValuefortheOUTPUTFILEparametertoex_4_prospects.csv. 6. ClickSave. TheProspectsComponentisnowdefinedforExercise4.

Creating a Filter Component


1. IntheFoundry,typefilterintothesearchtextbox. 2. Double-clicktheFilterComponentTemplate. 3. SpecifytherelativeURIasSnapLogic/User/Exercise_4/FilterProspects. 4. ClickOK. 5. ClicktheInputtab. 6. ClickAdd InputtotriggertheAdd Input View Wizard. 7. ClickNext. 8. MakesurethattheCopy an existing viewradiobuttonisselected.ClickNext. 9. SelecttheOutputviewoftheJoinComponentcreatedinExercise3.ClickFinish. 10. ClickSave. 11. ClicktheOutputtab. 12. ClicktheAdd OutputbuttonandcopytheinputviewoftheFilterProspectsComponent. 13. ClickthePropertiestabandclicktheView/EditlinkforFieldFilters. 14. ClickAdd Row.

- 34 -

SnapLogic Tutorials

15. SpecifytheFieldFilterspropertiestobe: l Field:MoreThan50K l Value:0.25 l Comparison:>= l View:Output1 16. ClickClose. 17. ClickSave.

Creating a Sort Component


1. IntheFoundry,typesortintothesearchtextbox. 2. Double-clicktheSortComponentTemplateandcreateanewComponentwiththerelativeURItoSnapLogic/User/Exercise_4/SortProspects. 3. SelecttheInputtabandcopytheinputviewoftheProspectsComponent. 4. SelecttheOutputtabandcopytheinputviewoftheSortProspectsComponent. 5. ClickthePropertiestabandclicktheView/EditlinkforSortSpecifications. 6. ClickAdd Row. 7. SpecifytheSortspecspropertiestobe: l Sortfield:MoreThan50K l Sortorder:desc 8. ClickAdd RowandspecifytheSortspecpropertiestobe: l Sortfield:Zip_Cde l Sortorder:asc 9. ClickClose. 10. ClickSave.

Building the Pipeline


NextyoucannowlinktheseComponentstogether. 1. ClicktheNew Pipelinebutton. 2. SpecifytheURIasSnapLogic/User/Exercise_4/Ex4_Filtered_Qual_CA_Prospects. 3. ClickOK. 4. DragtherequiredComponentsontothePipelineCanvasandlinktheComponentsasfollows: l Census,connecttoJoin l Leads,connecttoFilterLeads

- 35 -

Exercise 4: Data Sorting

l FilterLeads,connecttoJoin l Join,connecttoFilterProspects l FilterProspects,connecttoSortProspects l SortProspects,connecttoProspects l Prospects

5. Definefieldmappingsasdescribedin"ReviewingtheFilteredQualifyingCaliforniaProspectsPipeline". 6. ClicktheParameterstabandmodifythePipelineParameterandDefaultfieldsfollows: Pipeline Parameter LEADS CENSUS PROSPECTS Mapped to Leads.INPUTFILE Census.INPUTFILE Prospects.OUTPUTFILE Default Value file://tutorial/data/leads.csv file://tutorial/data/CAIncomeByZip.csv file://tutorial/data/ex_4_prospects.csv , ,

INPUT1_DELIMITER Leads.DELIMITER INPUT2_DELIMITER Census.DELIMITER

OUTPUT_DELIMITER Prospects.DELIMITER , Wehavedistinguishedtheinputdelimitersas`INPUT1_DELIMITER`,`INPUT2_DELIMITER`,and`OUTPUT_DELIMITER`togiveustheoptionofdefiningthemuniquelyshould theneedarise.Forthisexercise,allthedelimitersarecommas. 7. ClickSave. 8. ClicktheRuntab. ThePipelineParameterstableispopulatedwiththeparameterstobeusedbythisPipeline.Noticethatdefaultvaluesappearinthetable.Ifnecessary,thesevaluescouldbe changedrightherebeforerunningthePipeline. 9. ClickRun. ThePipelinewillreadthedataspecifiedintheReaderCensusandLeadsComponents andwriteittothefilespecifiedintheProspectsComponent(ex_4_prospects.csv). Youcanverifytheresultsofthisexercisebyexaminingthat112recordscontainedin theex_4_prospects.csvfileallhaveanpercentagegreaterthan25%inthelastcolumn.

- 36 -

SnapLogic Tutorials

- 37 -

6
Exercise 5: Utilizing Pass-Through
Exercise5isbasedonExercise2andintroducesyoutotheconceptofpass-through.Componentsthatsupportpass-throughallowyoutomaponlythefieldsrequiredbytheComponent.Theremainingfields"pass-through"theComponentandareavailableforlinking downstream.SeethePass-throughsectionintheUserGuideformoreinformation. Note: TheTutorialPipelinesgeneratethesampleoutputfilesex_n_prospects.csv,(forexample,ex_1_prospects.csv,ex_2_prospects.csv).Whenyou runyourexercises,youwilloverwritethesefiles.Toavoidthis,youcanrename yourexerciseoutputfilestobeunique.Oryoucansimplyre-runthesamplepipelinestorecreatetheoutputfilesifyouneedtoexaminethem.

Reviewing the California Prospects Pipeline, Exercise 5


FromtheDataServericon(<my_machine_name>:8088),double-clicktheEx5_CA_Prospects folder.ThePipelineisidenticaltotheoneinExercise2withoneexception. DoubleclickFilterLeads.ThisComponentisalmostidenticaltotheoneusedinExercise2, exceptforthewaytheinputandoutputviewsareconfigured.Clickon: l TheInputtab.NoticethatonlytheStatefieldisdefined.SincethisfilterComponentis applyingapredicatetotheStatecolumn,Stateistheonlycolumnthatitreallyneedsas input. l TheOutputtab.AgainnoticethattheonlyfielddefinedistheStatefieldbutalsonotice thattheboxforviewInput1ischeckedinthePass-throughInputViewssection.This enablespassing-throughallthefieldsthataren'tlinkedtoafieldofInput1. BackontheEx5_CA_ProspectsPipeline,clickthelinkbetweentheLeadsResourcetotheFilterLeadsResourcetodisplaytheFieldLinkerpage. Inthisexercise,FilterLeadsonlyrequiresasinglefield,theState field. ClickanywhereonthelinkbetweentheFilterLeadsResourcetotheProspectsResourcetodisplaytheLinkmenuandselectField LinkingtodisplaytheFieldLinkerpage. Sincepass-throughhasbeenenabledinFilterLeads,notonlyistheStatefieldavailablebutall thefieldsthatwereavailabletotheinputviewofFilterLeads. WhenyouclicktheRun Pipelinebutton,thePipelineprocessestheReaderoutput,passesit throughtheFilterandintotheWriterinput,thencreatestheex_5_prospects.csvfile.You shouldseethattheoutputresultcontains675records. NowletscreatetheResourcesinExercise5.

- 38 -

SnapLogic Tutorials

Hands-on Exercise: Implementing Pass-Through


Creating a Filter Component with Pass-Through
1. Double-clicktheFilterComponentintheComponentLibrarypane. 2. SpecifytheURIasSnapLogic/User/Exercise_5/FilterLeads. 3. ClickOK. 4. SelecttheInputtab,clicktheAdd View button,clickNextwheretheinputcanbecopiedfromanexistingvieworcanbecreatedasanewview.SinceourComponentonly needsonefield,wewillselectthenewblankviewoptionandclickFinish. 5. ClickAdd Rowtoaddasinglerow. 6. NamethefieldState.Thedatatypeshouldbestringandaddafielddescription. 7. ClickSave. 8. ClicktheOutputtab. 9. RepeatthestepsyouperformedtodefinetheinputviewInput1 tocreatetheoutput viewOutput1,orusethecopyviewwizardtocopythedefinitionofInput1. 10. ChecktheboxnexttoInput1 toenablepass-throughonthisoutputview. 11. ClickSave. 12. ClickthePropertiestabfortheFilterLeadsComponent. 13. Specifythepropertiesexactlyasyoudidinexercise2. 14. ClickonView/EditlinkofFieldFilters,thenaddtherow: l Field:NameoftheCSVfilecolumnisState l Operator:== l Value:ThevaluetofilteronisCA l View:Output1 15. ClickClose. 16. ClickSave. TheFilterisnowdefined.

Duplicating the Reader and Writer Resources


DuplicatetheLeadsandProspectsResourcescreatedinyourExercise2folder. 1. Double-clicktheLeadsResourceiconfromTutorialExercise2toopenit. 2. SelectSave AsfromtheSavemenubuttondrop-downlist. 3. FromtheSave Resource Asdialog,specifytheURIasSnapLogic/User/Exercise_ 5/Leads.

- 39 -

Exercise 5: Utilizing Pass-Through

4. ClickOK. TheduplicatedLeadsResourceappearsinSnapLogic > User > Exercise_5. SincetheLeadsReaderwillfunctionexactlyasitdidinExercise2(thatis,readingin thefieldsfromtheleads.csvfile)wecanleaveitsProperties,Outputview,andParametersunchanged. 5. PerformthesamestepsasaboveforduplicatingtheProspectsresourcefromExercise 2.SpecifytheURIintheSaveAsdialogtobeSnapLogic/User/Exercise_ 5/Prospects.

Building the Pipeline


NowwecanlinktheLeads,Prospects,andFilterLeadsResourcestogetherinaPipelinejustas inExercise2toprocessthedata. 1. ClicktheNew Pipelinebutton. 2. SpecifytheURIasSnapLogic/User/Exercise_5/CA_Prospects. 3. ClickOK. 4. DragtheFilterLeadsComponentontothePipelinecanvas.Notethat_1isappendedto theComponentname. 5. RenametheComponentFilterLeads. 6. DragyourLeadsandProspectsResourcesontothePipelinecanvas.NamethemLeads andProspectsrespectivelyasyoudropthemontothecanvas. 7. LinktheLeadsReadertotheFilterLeadsResource. 8. Bydefault,theFieldLinkerdialogappears,andtheStatefieldswillbemappedautomaticallybecauseamatchingfieldnamewasfound. 9. ClickApplyandSavewhenfinished. 10. LinktheFilterLeadsResourcetotheProspectsWriter. 11. ClickApplyandSavewhenfinished. 12. FromthePipeline Properties,selectthePipeline Parameterstab. 13. Edittheparameterstochangethedefaultnames. 14. ClickSave. 15. ClicktheRun PipelinefromthePipelinemenu. ThePipelinewillexecuteexactlyasitdidinExercise2.Theonlydifferenceisthatthefields unneededbytheFilterresourcearepassedthroughtothe"downstream"resource. Openex_5_prospects.csvandverifythefilteredresults.Youshouldseeonlythe675leads thathaveCaliforniaaddresses,similartotheoutputfromExercise2.

- 40 -

SnapLogic Tutorials

- 41 -

Index
C
Components creating 8 data service 25 filter 17, 34 filter with pass-through 39 join 27 sort 35 writer 11 duplicating 19, 28, 34, 39

E
exercises overview 6, 16, 22, 32, 38

P
Pipelines building 12, 20, 29, 35, 40

T
tutorials environement 4 overview 5

- 42 -

SnapLogic Tutorials

- 43 -

Common questions

Powered by AI

Key considerations include ensuring that component linkages are correctly established to maintain proper data flow from sources to output, defining correct join expressions to merge datasets accurately, and parametrizing file delimiters and inputs to allow runtime configuration . Linkages should be verified for automatic mapping accuracy, especially in joins where field aliasing resolves naming conflicts between datasets . Ensuring these aspects enhances the data service pipeline’s robustness and reliability in data feed provision .

Runtime parameter specifications offer the benefit of dynamic adaptability, allowing different data inputs or configurations without changing the underlying pipeline structure. This flexibility enables users to modify parameters such as file names or delimiters on the fly, providing a tailored data processing experience that can adapt to varying operational needs quickly . Such specifications improve efficiency and reduce potential errors that might arise from manually reconfiguring settings each time .

Using parameters in defining pipeline components allows for greater flexibility in data processing as they enable dynamic configuration at runtime. For instance, parameters like DELIMITER and INPUTFILE can be set with different values without altering the component structure, making it adaptable to various data files and formats . This is especially useful when multiple datasets with varying structures are processed using the same pipeline, as changes can be applied instantly by modifying parameter values instead of redefining components .

The Join Component enhances data consolidation by merging disparate datasets based on specified join expressions, providing a unified data view. It is significant in data services as it facilitates the creation of comprehensive datasets from multiple sources, which can then be utilized in decision-making and analytics tasks. By aliasing and ensuring accurate data alignment, it ensures consistency and integrity, thereby supporting robust and scalable data service infrastructure . The join operations enable complex data integration tasks, making them integral in pipeline design .

Output file naming conventions significantly impact pipeline management and maintenance by providing clarity and reducing the risk of overwriting important data during repeated runs. Using unique names or parameterized file paths, such as using default values like file://tutorial/data/ex_3_prospects.csv, allows for easy identification and retrieval of output . This practice aids in efficiently organizing pipelines and facilitates seamless troubleshooting and data tracking over subsequent processing iterations .

Challenges in join expressions include managing field naming conflicts due to identical field names in different datasets and ensuring accurate data alignment between joined fields. These can be mitigated by using field aliasing, which disambiguates output view field names and enables precise data mapping . Additionally, ensuring all necessary fields are included in join expressions and correctly mapping input-to-output fields reduces data mismatches and ensures integrity in the integration process .

Field linking is critical for maintaining data integrity as it ensures accurate data flow and transformation between components. Proper linking involves clear mapping of input fields to output fields, which helps avoid data loss or misalignment. This is essential when dealing with components like filters and joins where specific fields must be preserved or matched for correct processing, guaranteeing that data integrity is maintained throughout the pipeline's execution . Failure to correctly link fields can lead to incomplete data transfer and downstream processing errors, impacting overall pipeline operation .

Reader-based components are pivotal in efficient data ingestion by defining how data is read into SnapLogic pipelines. They determine the structure of incoming data, using parameters such as skip lines and delimiters to cleanly ingest data from source files. This precision ensures that only relevant data is processed, thereby enhancing pipeline efficiency by reducing unnecessary computational load . Well-configured readers help streamline data flow, making ingestion tasks more efficient and less error-prone, especially in large-scale data integration scenarios .

The concept of pass-through enhances pipeline design and efficiency by allowing all non-filtering fields to flow through a component like a filter, thereby reducing the need for multiple explicit linkages or mappings in subsequent components. When pass-through is enabled, components can automatically pass all incoming fields, allowing seamless integration and minimizing reconfiguration when output fields are changed or updated . This simplifies pipeline design, reduces processing overhead, and increases flexibility in managing data workflows, enabling efficient handling of data .

The CSV Writer Component plays a critical role in the data pipeline by defining how data is exported from the pipeline, typically to a flat file such as CSV for further use or analysis. It aligns with the overall data flow by accepting incoming data through configured input views, then formatting and writing this data to a specified local file based on defined output tab parameters like delimiter and file path . This component is a crucial endpoint in the pipeline, facilitating data export for external applications or storage .

You might also like