Zu Hauptinhalten wechseln
Procore

Verbinden Sie Ihre Procore-Daten, indem Sie Analysemodelle herunterladen

Ziel

So verbinden Sie Ihre Procore-Daten mit einem BI-System, indem Sie Analytics-Modelle programmgesteuert herunterladen . 

Überlegungen

  • Anforderungen:
    • Python 3.6 oder höher auf Ihrem System installiert.
    • 'config.share'-Datei, die von Procore erhalten wurde.
    • Die erforderlichen Python-Pakete müssen auf Ihrem System installiert sein.
    • Das Skript unterstützt sowohl PySpark als auch Python.
    • Wenn Sie PySpark verwenden, stellen Sie sicher, dass Sie Spark 3.5.1 oder höher, Java installiert und die SPARK_HOME Umgebungsvariable konfiguriert haben.
    • Wenn Sie Python verwenden und der Zielspeicherort MSSQL DB ist, installieren Sie den ODBC-Treiber 17 für SQL Server auf Ihrem System.

Schritte

 Hinweis
Diese Verbindungsmethode wird in der Regel von Datenexperten verwendet.

Datei mit Anmeldeinformationen erstellen

Sie müssen zunächst ein Daten-Token in der Procore-Webanwendung generieren.  Siehe Generieren von Zugriffstoken

  1. Erstellen Sie eine Datei mit dem Namen config.share.
  2. Fügen Sie die folgenden Felder hinzu:
    {
        "shareCredentialsVersion": 1,
        "bearerToken": "",
        "Endpunkt": "",
        "expirationTime": ""
    }
  3. Fügen Sie die von Procore erhaltenen Werte für Bearer-Token, Endpunkt, Freigabeanmeldeinformationen, Version und Ablaufzeit zur Datei config.share hinzu.

Ausführen user_exp.py Skripts

Sie können die folgenden Skripts verwenden, um eine config.yaml-Datei mit den erforderlichen Konfigurationen zu erstellen. 

  • Für Azure Storage:
    cron_job: #true/falsch
    run_as: #pyspark/Python
    source_config:
    config_path: #path zur Datei config.share
    Tabellen:
    - '' # Tabellenname, wenn Sie eine bestimmte Tabelle herunterladen möchten. Lassen Sie das Feld leer, wenn Sie alle Tabellen herunterladen möchten
    source_type: delta_share
    target_config:
    auth_type: service_principal
    client_id: #client_id
    secret_id: #secret_id
    storage_account: Name des #storage-Kontos
    storage_path: #<container>@<storage-account>.dfs.core.windows.net/<directory>
    enant_id: #tenant_id
    target_type: azure_storage
     
  • Für MSSQL DB:
    cron_job: #true/false
    run_as: #pyspark/Python
    source_config:
      config_path: #path zur Datei config.share
      Tabellen:
        - '' # Tabellenname, wenn Sie eine bestimmte Tabelle herunterladen möchten. Lassen Sie es leer, wenn Sie alle Tabellen herunterladen möchten
    source_type: delta_share
    target_config:
      Datenbank: #target Datenbank
      Host: #target Hostname:Port
      Passwort: #password
      Schema: #target Schema (standardmäßig procore_analytics)
      Benutzername: #username
    target_type: sql_server

Als PySpark ausführen

Wenn Ihre Umgebung bereits mit Spark eingerichtet ist, wählen Sie die Option 'pyspark', wenn Sie dazu aufgefordert werden, oder sobald die 'config.yaml' generiert ist, können Sie die folgenden Befehle ausführen, um die Berichte in das Datenverzeichnis herunterzuladen.

  • Zum Schreiben in ADLS Gen2-Speicher:
    spark-submit --packages io.delta:delta-sharing-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
  • Zum Schreiben in MSSQL DB:
    spark-submit --packages io.delta:delta-sharing-spark_2.12:3.1.0 --jars <Speicherort der mssql-jdbc-jar> delta_share_to_sql_spark.py

Als Python ausführen

  1. Navigieren Sie in der Befehlszeile zu dem Ordner, indem Sie den  Befehl"cd"<path to the folder> eingeben .
  2. Installieren Sie die erforderlichen Pakete mit "pip install -r requirements.txt" oder "python -m pip install -r requirements.txt".
  3. Führen Sie den Befehl python delta_share_to_azure_pandy.py aus.

Verwenden von SSIS

  1. Öffnen Sie SSIS, und erstellen Sie ein neues Projekt.
  2. In der SSIS-Toolbox Drag & Drop Task Prozess ausführen.
  3. Doppelklicken Sie auf Task Prozess ausführen.
  4. Gehen Sie zur Registerkarte Prozess.
  5. Geben Sie neben Ausführbare Datei den Pfad zu python.exe im Python-Installationsordner ein.
  6. Geben Sie in WorkingDirectory den Pfad zu dem Ordner ein, der das Skript enthält, das Sie ausführen möchten (ohne den Namen der Skriptdatei).
  7. Geben Sie unter Argumente den Namen des Skripts ein delta_share_to_azure_panda.py das Sie mit der .py und klicken Sie auf Speichern.
  8. Klicken Sie im oberen Menüband auf Start .
  9. Während der Ausführung der Aufgabe wird die Ausgabe der Python-Konsole im Fenster der externen Konsole angezeigt.
  10. Sobald die Aufgabe erledigt ist, wird ein Häkchen angezeigt.

Wählen Sie Ihre eigene Methode

Delta Sharing ist ein offenes Protokoll für den sicheren Datenaustausch. Das öffentliche GitHub-Repository für Delta Sharing finden Sie unter https://github.com/delta-io/delta-sharing. Das Repository enthält Beispiele und Dokumentationen für den Zugriff auf gemeinsam genutzte Daten in verschiedenen Sprachen wie Python und Spark Connector (SQL, Python, Scala, Java, R).

 Hinweis
Stellen Sie sicher, dass Sie über die entsprechenden Berechtigungen und Zugriffsrechte verfügen, um die erforderlichen Dateien herunterzuladen und Docker-Container auf Ihrem System auszuführen. Befolgen Sie beim Umgang mit sensiblen Daten und Anmeldedaten stets die Sicherheits bewährte Praktiken und Richtlinien von Procore.