Créez plusieurs flux pour un nombre illimité de cas d'usage
Data Flow est composé d'une interface utilisateur de type point & click qui vous permettra de créer différents flux pour partager des données granulaires dans le bon format aux bonnes parties prenantes.
Activer l'option Data Flow
Data Flow est une option payante qui peut être activée sur votre organisation.
Pour accéder à Data Flow, contactez votre Account Manager via votre administrateur ou contactez notre centre support.
Interface
Création d'un nouveau flux de données
Les flux peuvent être configurés directement à partir de notre interface Explorer sous forme d'exports planifiés.
Accédez à l'application des exports planifiés via la liste déroulante de l'Explorer.
Une interface dédiée vous permettra de configurer vos flux de données. Vous pourrez configurer les aspects suivants de vos flux de données :
Une interface dédiée vous permettra d’effectuer cette configuration d’exports. Vous pourrez entre autres :
- Multisite: Sélectionner un site ou l’ensemble des sites auxquels vous avez droit d’accéder.
- Choix de propriétés : Choisir les propriétés composant votre export (standard et custom).
- Format : Choisir le type de séparateur et le format d’export entre CSV, JSON et PARQUET.
- Planification : Choisir la fréquence d’export – 15, 30 ou 60 minutes.
- Stockage : Choisir l’emplacement de l’export, sFTP, Amazon S3 (Azure et GCP par la suite).
Accéder à l'interface Data Flow - Exports planifiés
Pour vous connecter à l'interface de Data Flow, rendez-vous sur l'app Export :
Vous serez ensuite en capacité de créer des exports planifiés Data Flow.
Création d'un export planifié Data Flow
Cliquez sur "Créer un export Data Flow" pour créer un nouveau flux de données.
Vous accéderez ensuite au paramétrage de votre flux d'export qui se présente sous forme de 2 étapes très simples :
ETAPE 1 : Que voulez-vous inclure dans votre export ?
![]() |
Le périmètre de votre export Avez-vous besoin d'informations concernant tous les sites web de votre organisation ? Ou seulement d'un ou plusieurs de vos sites internet ? |
![]() |
Activation du filtre privacy Vous avez la possibilité d'activer le filtre privacy afin de respecter la règlement en vigueur. Ce filtre privacy activé vous permet d'écarter de vos exports les données non-consenties. Si vous décidez de ne pas activer ce filtre privacy, après réception de toutes les données Piano Analytics, vous devrez si besoin purger une partie de vos données reçues afin de respecter la règlement en vigueur dans votre pays. Le filtre privacy est basé sur "visitor_privacy_consent = false". |
![]() |
Les données dont vous avez besoin d'exporter Voulez-vous exclure les données non-consenties ? Voulez-vous exporter la totalité de vos propriétés actuelles et futures ? Ou seulement certaines propriétés ?
|
ETAPE 2 : Quelles sont les caractéristiques de votre export ?
![]() |
Nom du flux d'export Nommez votre flux d'export |
![]() |
Choix du format d'export Choisissez votre format d'export : CSV, JSON ou Parquet. La configuration change automatiquement pour chaque format que vous sélectionnez. Veuillez noter que le format JSON est plus exactement du NDJSON (Newline Delimited JSON). Merci de vous référer au site suivant pour plus d'informations : http://ndjson.org/ |
|
Fréquence d'export & enregistrement
=> missinglefile: false => Aucun problème. => missinglefile: true => Un fichier est manquant. |
Configuration des connexions Amazon S3
Retrouvez la documentation pour configurer des connexions Amazon S3 ici.
Configuration des connexions FTP et sFTP
Retrouvez la documentation pour configurer des connexions FTP/sFTP ici.
Nous vous recommandons fortement de préférer l'envoi S3 à l'envoi FTP : ce dernier est un protocole vieillissant qui ne permet pas des transferts rapides de fichiers. Nous vous proposerons prochainement des envois vers Google Cloud Platform et Microsoft Azure.
Si vous être dans l'obligation d'utiliser un envoi vers FTP, nous vous conseillons alors d'utiliser une fréquence d'envoi à 15 ou 30 minutes qui limitera la taille des fichiers à envoyer.
Planification
Le système de planification des exports Data Flow ne se base pas sur des périodes complètes. A chaque tour de boucle (toutes les 15, 30 ou 60 minutes), toutes les nouvelles données insérées en base depuis le dernier export sont extraites. Dans notre nouvelle chaîne de traitement, la NDF, c'est grâce à ce système que nous avons l'assurance de vous envoyer l'exhaustivité de vos événements.
Disponibilité des données
Certaines données ne seront pas disponibles sur Data Flow. La raison est simple : ces propriétés sont calculées "à la volée" et ne sont pas stockées ou ce sont des propriétés "incertaines". Par exemple, nous ne savons pas à l'avance si une visite sera considérée comme un "rebond". De ce fait, la propriété "visit_bounce" ne peut pas être proposée dans Data Flow.
La liste des propriétés non disponibles dans Data Flow peut être consultée ici.
Partitionnement
Data Flow inclut une nouvelle fonctionnalité : le partitionnement. Etant donné que les fichiers ne portent pas sur des périodes complètes, le partitionnement vous permet d'organiser vos fichiers selon la période qu'ils contiennent. Cette période est basée sur la date UTC de collecte des données (propriété hit_time_utc).
Vous avez la possibilité de choisir votre niveau de partitionnement :
- Date
- Date / Heure
- Date / Heure / Demi-heure
- Date / Heure / Quart d'heure
Prenons un exemple concret. Imaginons que vous ayez créé un export horaire avec un partitionnement à niveau Date / Heure. L'export se nomme myExport, il est envoyé dans un dossier myFolder.
Le contenu de la table au moment de l'extraction est le suivant :
Hit_time_utc |
event_id |
... |
08/04/2021 10:58:14 |
abcdefghij |
... |
08/04/2021 10:59:27 |
fjezoijznczeufh |
... |
08/04/2021 11:00:28 |
hezihigiregie |
... |
08/04/2021 11:01:45 |
jeijgirejrejgjei |
... |
Les données sont à cheval sur deux heures, elles vont donc être réparties dans des fichiers différents.
Dans le cas d'un envoi S3 :
myFolder/myExport/data/date=2021-04-08/hour=10/data_36_019ac5aa-3252-4738-0000-03d5ba4052ba_001_0_0.csv.gz
et
myFolder/myExport/data/date=2021-04-08/hour=11/data_36_019ac5aa-3252-4738-0000-03d5ba4052ba_001_0_0.csv.gz
Le premier fichier contiendra les événements extraits dont la propriété hit_time_utc est comprise entre 10:00:00 et 10:59:59, le deuxième ceux dont la propriété hit_time_utc est comprise entre 11:00:00 et 11:59:59. Si au prochain tour de boucle il y a de nouvelles données comprises entre 11:00:00 et 11:59:59, de nouveaux fichiers seront créés dans le dossier /hour=11/.
Dans le cas d'un envoi (s)FTP, la logique est la même, seule la nomenclature change. Nous ne pouvons pas créer dynamiquement des dossiers, donc ce sont les noms de fichiers eux-mêmes qui portent l'information de période :
myFolder/myExport_2021-04-08_10_data_36_019ac5aa-3252-4738-0000-03d5ba4052ba_001_0_0.csv.gz
myFolder/myExport_2021-04-08_11_data_36_019ac5aa-3252-4738-0000-03d5ba4052ba_001_0_0.csv.gz
Format
Une fois votre flux créé, vous recevrez directement sur votre serveur Amazon S3/sFTP les fichiers générés par Data Flow. Chaque fichier généré est compressé au format GZ. Les noms de fichiers incluent une nomenclature gérée par Snowflake repérable sur la fin du nom de fichier de la façon suivante :
data_#GUID#_#NumérotationSnowFlake#.format
Vous trouverez des exemples dans le paragraphe précédent.
Afin d'accélérer les traitements, Snowflake exécute la requête par parties sur différentes machines, donc pour un même export généré à un instant T, vous pourrez recevoir plusieurs fichiers.
Important :
Concernant les exports au format CSV, nous vous recommandons de ne pas vous baser sur les index des colonnes mais sur leurs entêtes : nous ne pouvons garantir d'ordre fixe d'affichage des propriétés.
Dans les exports au format JSON, les propriétés avec une valeur vide n'apparaitront pas pour l'événement concerné.
Rapport de livraison
Après chaque génération de fichiers sur votre bucket Amazon S3 / sFTP, vous recevrez en complément un fichier ".report" qui contiendra la liste des noms de fichiers générés que vous venez de recevoir.
Si vous avez reçu un fichier dont le nom n'est pas contenu dans un rapport de livraison, c'est que ce fichier n'est pas complet, il faut donc l'occulter.
La réception de ce rapport de livraison atteste de la bonne génération et livraison des exports sur une période donnée.
Ex : à 10h20 UTC une génération est lancée, il en résulte trois fichiers :
- myFolder/myExport/data/date=2021-10-31/hour=09/min=45-60/data_019ac5aa-3252-4738-0000-03d5ba4052ba_001_0_0.csv.gz
-
myFolder/myExport/data/date=2021-10-31/hour=10/min=00-15/data_049fc5da-3372-8338-1200-08f7bc4801cz_001_0_0.csv.gz
-
myFolder/myExport/data/date=2021-10-31/hour=10/min=00-15/data_049fc5da-3372-8338-1200-08f7bc4801cz_002_0_0.csv.gz
Une fois que ces trois fichiers ont été intégralement déposés dans votre bucket S3 / votre sFTP, un rapport de livraison nommé #timestamp#_delivery.report vous est envoyé, contenant ces trois mêmes noms de fichiers, et atteste donc que vous pouvez récupérer leur contenu en toute sérénité.
Génération d'historique
Les exports de génération d'historique ou de régénération d'une date passée se baseront sur le même niveau de partitionnement que votre export de production. La régénération pourra se faire dans un dossier distinct.
Pour pouvoir générer de l'historique d'un jour X à un jour Y et minimiser le risque de doublons ou de trous de données, voici la marche à suivre :
- Si ce n'est pas déjà fait, mettre l'export en production avec la fréquence désirée
- à Y+1, vous devez supprimer les données que vous avez ingérées dans votre base de données avec une requête comme suit : DELETE * FROM #matable# WHERE hit_time_utc < Y+1
- Nos équipes AT Internet en interne créent un ticket de génération d'historique à l'équipe Exports en précisant :
- Votre compte client sur lequel l'export de production a été créé
- Le nom de votre export
- La période exacte à régénérer (X à Y)
A savoir
Il est possible que des exports de production contiennent parfois des doublons. Ce n'est pas inhérent à Data Flow mais à la collecte des données. Ces doublons apparaîtront également dans Data Query sur la journée en temps réel. Les doublons sont supprimés à J+1 dans la table de données consolidées, mais cela n'a donc pas d'impact sur les fichiers Data Flow déjà consommés.
En cas de retard de temps réel, les événements non inclus dans un fichier seront inclus dans les fichiers suivants, toujours en se basant sur leur date de collecte. Auquel cas, on peut avoir des fichiers plus légers que de coutume sur une période puis des fichiers plus lourds sur la période suivante.