Passer au contenu principal
Procore

Connectez vos données Procore en téléchargeant des modèles d’analyse

Objectif

Connecter vos données Procore à un système de BI en téléchargeant des modèles Analytics par programme. 

Considérations

  • Exigences :
    • Python 3.6 ou supérieur installé sur votre système.
    • Fichier « config.share » reçu de Procore.
    • Les paquets Python nécessaires installés sur votre système.
    • Le script prend en charge à la fois PySpark et Python.
    • Si vous utilisez PySpark, assurez-vous d'avoir installé Spark 3.5.1 ou version ultérieure, Java et configuré la variable d'environnement SPARK_HOME.
    • Si vous utilisez Python et que l'emplacement cible est la base de données MSSQL, installez le pilote ODBC 17 pour SQL Server sur votre système.

Étapes

Remarque
Cette méthode de connexion est généralement utilisée par les professionnels de la data.

Créer un fichier d’informations d’identification

Vous devez d’abord générer un jeton de données dans l’application Web Procore.  Voir Générer un jeton d’accès

  1. Créez un fichier appelé config.share.
  2. Ajoutez les champs ci-dessous :
    {
        « shareCredentialsTableaux » : 1,
        « bearerToken » : « ,
        « point de terminaison » : « »,
        « expirationTime » : «
    }
  3. Ajoutez les valeurs Jeton du porteur, Point de terminaison, Version des informations d’identification de partage et Temps d’expiration reçues de Procore au fichier config.share.

Exécuter le script user_exp.py

Vous pouvez utiliser les scripts suivants pour créer un fichier config.yaml avec les configurations nécessaires. 

  • For Azure Storage:
    cron_job: #true/false
    run_as: #pyspark/python
    source_config:
    config_path: #path to the config.share file
    tables:
    - '' # table name if you want to download a specific table. Leave it empty if you want to download all tables
    source_type: delta_share
    target_config:
    auth_type: service_principal
    client_id: #client_id
    secret_id: #secret_id
    storage_account: #storage-account name
    storage_path: #<container>@<storage-account>.dfs.core.windows.net/<directory>
    enant_id: #tenant_id
    target_type: azure_storage
     
  • Pour MSSQL DB:
    cron_job : #true/faux
    run_as : #pyspark/python
    source_config :
      config_path : #path au fichier config.share
      Tables:
        - Nom du tableau « » si vous souhaitez télécharger un tableau spécifique. Laissez-le vide si vous souhaitez télécharger tous les tableaux
    source_type : delta_share
    target_config :
      base de données : base de données #target
      hôte : #target hostname :port
      mot de passe : #password
      schéma : schéma #target (par défaut à Procore_analytique)
      nom d’utilisateur : #username
    target_type : sql_server

Exécuter en tant que PySpark

Si votre environnement est déjà configuré avec Spark, choisissez l'option « pyspark » lorsque vous y êtes invité ou une fois que le « config.yaml » est généré, vous pouvez exécuter les commandes suivantes pour télécharger les rapports dans le répertoire de données.

  • Pour écrire sur le stockage ADLS Gen2:
    spark-submit --packages io.delta:delta-share-spark_2.12:3.1.0,org.apache.hadoop:hadoop-azure:3.4.0,com.microsoft.azure:azure-storage:8.6.6, org.apache.hadoop:hadoop-common:3.4.0 --exclude-packages com.sun.xml.bind:jaxb-impl delta_share_to_sql_spark.py
  • Pour écrire dans la base de données MSSQL :
    spark-submit --paquets io.delta:delta-share-spark_2.12:3.1.0 --jars <Emplacement du bocal mssql-jdbc> delta_share_to_sql_spark.py

Exécuter en tant que Python

  1. À partir de la ligne de commande, accédez au dossier en entrant la  <path to the folder> commande « cd » .
  2. Installez les paquets requis à l’aide de « pip install -r exigences.txt » ou « python -m pip installez -r exigences.txt ».
  3. Exécutez la commande python delta_share_to_azure_pandy.py.

Utilisation de SSIS

  1. Ouvrez SSIS et créez un nouveau projet.
  2. Dans la boîte à outils SSIS , glisser-déposer Exécuter la tâche de processus.
  3. Double-cliquez sur Exécuter la tâche de processus.
  4. Accédez à l'onglet Processus.
  5. À côté de Exécutable, entrez le chemin de python.exe dans le dossier d'installation de Python.
  6. Dans Répertoire de travail, entrez le chemin du dossier contenant le script que vous souhaitez exécuter (sans le nom du fichier de script).
  7. Dans Arguments, entrez le nom du script delta_share_to_azure_panda.py que vous souhaitez exécuter avec la .py extension et cliquez sur Enregistrer.
  8. Cliquez sur Démarrer dans le menu du ruban supérieur.
  9. Pendant l'exécution de la tâche, la sortie de la console Python est affichée dans la fenêtre de la console externe.
  10. Une fois la tâche terminée, une coche s'affiche.

Choisissez votre propre méthode

Delta Sharing est un protocole ouvert de partage sécurisé de données. Vous pouvez trouver le référentiel public GitHub pour Delta Sharing à l' adresse https://github.com/delta-io/delta-share. Le référentiel comprend des exemples et de la documentation pour accéder aux données partagées à l'aide de divers langages tels que Python et Spark Connector (SQL, Python, Scala, Java, R).

Remarque
Assurez-vous de disposer des permissions et des droits d'accès appropriés pour télécharger les fichiers requis et exécuter les conteneurs Docker sur votre système. Suivez toujours les meilleures pratiques en matière de sécurité et les directives fournies par Procore lors du traitement des données sensibles et des informations d'identification.