Wanneer je met Snowflake en Coalesce.io werkt om een moderne gegevenspijplijn te bouwen, is een van de meest essentiële taken het lezen van bestanden uit de interne fasen van Snowflake. Deze stages dienen als ingang voor het uploaden van gegevens in Snowflake voordat ze verder worden verwerkt en getransformeerd. In dit artikel laat ik zien hoe je op effectieve wijze bestanden uit een Snowflake interne stap in Coalesce.io kunt lezen, inclusief de benodigde commando's en stappen om je pijplijn soepel te laten werken.
Coalesce.io wint snel aan populariteit in de wereld van data engineering vanwege de gebruiksvriendelijke interface en de mogelijkheid om gegevens te transformeren op verschillende platforms, waaronder Snowflake. Snowflake biedt op zijn beurt robuuste staging-mogelijkheden waarmee gebruikers gegevens tijdelijk kunnen laden en opslaan. Door beide platforms samen te gebruiken, ontstaat een naadloze en efficiënte pijplijn.
Om gegevens van een interne Snowflake-stage in Coalesce.io te integreren, hebt u het knooppunt CopyInto van Coalesce.io nodig, dat is afgeleid van de opdracht COPY INTO van Snowflake.
Laten we eens kijken hoe dit proces werkt, te beginnen met de basis.
De opdracht COPY INTO wordt in Snowflake gebruikt om gegevens van een stap in een tabel te laden. De interne fasen in Snowflake fungeren als tijdelijke opslag voor gegevensbestanden voordat ze in een Snowflake-tabel worden geladen. Om bestanden uit een interne stap te lezen, gebruiken we de opdracht COPY INTO, die de bronstap en de doeltabel specificeert.
Hier volgt een basisvoorbeeld van de opdracht COPY INTO:
Dit commando laadt gegevens van my_internal_stage in my_table met het opgegeven bestandsformaat. Het commando is in hoge mate aanpasbaar en maakt filteren van gegevens op basis van bestandsnamen, bestandstypen en meer mogelijk. Lees meer over de opdracht COPY INTO in de Snowflake-documentatie.
In Coalesce.io biedt het Externe gegevenspakket hulpmiddelen voor het laden en verwerken van externe gegevens in Snowflake, inclusief automatische schema-detectie, gegevensimport en -export, API-connectiviteit en ondersteuning voor het parsen van Excel-bestanden.
Meer specifiek bevat het
Voor deze use case zullen we ons richten op de CopyInto node. Lees hier hoe je de pakketten van Coalesce installeert en beheert.
Laten we naar de praktijk gaan. Neem de Internal Stage SUPERSTORE, die het bestand orders.json bevat:
GRANT READ ON STAGE RAW.STAGING.SUPERSTORE TO ROLE COALESCE_ROLE; Nu is het tijd om te beginnen met het transformeren van gegevens. Om dit te doen, maak je een Staging node (STG_NODE), van waaruit je automatisch de gegevens in JSON-structuur kunt parsen in de Variant-kolom van de READ_FROM_JSON_ORDERS die je zojuist hebt gemaakt:
Door het knooppunt STG_ORDERS te openen en met de rechtermuisknop op de kolom Variant te klikken, kunt u de optie Mappings afleiden selecteren. Hierdoor worden de gegevens in JSON-indeling automatisch afgevlakt in kolommen en rijen.
Vanaf dit moment kunt u doorgaan met het bouwen van uw gegevenspijplijn door feiten, dimensies, Views en meer te creëren.
Bannerfoto door Maksym Kaharlytskyi op Unsplash