Saltar al contenido principal
Procore

Conecte sus datos de Procore descargando modelos analíticos

Objetivo

Para conectar sus datos de Procore a un sistema de BI, descargue los modelos de Analytics mediante programación.  

Consideraciones

  • Requisitos:
    • Python 3.6 o superior instalado en su sistema.
    • Archivo 'config.share' recibido de Procore.
    • Los paquetes de Python necesarios instalados en su sistema.
    • El script admite tanto PySpark como Python.
    • Si está utilizando PySpark, asegúrese de haber instalado Spark 3.5.1 o posterior, Java y configurado la variable de entorno SPARK_HOME.
    • Si está utilizando Python y la ubicación de destino es MSSQL DB, instale el controlador ODBC 17 para SQL Server en su sistema.

Pasos

 Nota
Los profesionales de los datos suelen utilizar este método de conexión.

Crear archivo de credenciales

Primero debe generar un token de datos dentro de la aplicación web de Procore.  Consulte Generar token de acceso. 

  1. Cree un archivo llamado config.share.
  2. Añade los siguientes campos:
    {
    "shareCredentialsVersion": 1,
            "bearerToken": "",
            "endpoint": "",
            "expirationTime": ""
    }
  3. Añada los valores de token de portador, punto final, versión de credenciales para compartir y hora de vencimiento recibidos de Procore al archivo config.share.

Ejecutar script user_exp.py

Puede utilizar los siguientes scripts para crear un archivo config.yaml con las configuraciones necesarias.  

  • Para almacenamiento de Azure:
    cron_job: #verdadero/falso
    run_as: #pyspark/python
    configuración_fuente:
    config_path: #ruta al archivo config.share
    tablas:
    - '' # nombre de la tabla si desea descargar una tabla específica. Déjelo vacío si desea descargar todas las tablas.
    tipo_fuente: delta_share
    configuración_destino:
    tipo_autenticación: principal_servicio
    ID_cliente: #id_cliente
    ID_secreto: #id_secreto
    storage_account: #nombre de la cuenta de almacenamiento
    ruta_de_almacenamiento: #<container><storage-account>@.dfs.core.windows.net/<directory>
    enant_id: #tenant_id
    tipo de destino: almacenamiento en azure
     
  • Para MSSQL DB:
    cron_job: #true/false
    run_as: #pyspark/python
    source_config:
        config_path: #path to the config.share file
        tables:
            - '' # nombre de tabla si desea descargar una tabla específica. Déjelo vacío si desea descargar todas las tablas
    source_type: delta_share
    target_config:   database:
        #target database
        host: #target hostname:port
        password: #password
        schema: #target schema (default to procore_analytics)
        username: #username
    target_type: sql_server

Ejecutar como PySpark

Si su entorno ya está configurado con Spark, elija la opción 'pyspark' cuando se solicite o una vez que se genere el 'config.yaml', puede ejecutar los siguientes comandos para descargar los informes al directorio de datos.

  • Para escribir en ADLS Gen2 Storage:
    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
  • Para escribir en MSSQL DB:
    spark-submit --packages io.delta:delta-sharing-spark_2.12:3.1.0 --jars <Ubicación de mssql-jdbc jar> delta_share_to_sql_spark.py

Ejecutar como Python

  1. Desde la línea de comandos, vaya a la carpeta introduciendo el  <path to the folder> comando"cd".
  2. Instale los paquetes requeridos utilizando "pip install -r requirements.txt" o “python -m pip install -r requirements.txt”.
  3. Ejecute el comando python delta_share_to_azure_pandy.py.

Uso de SSIS

  1. Abra SSIS y cree un nuevo proyecto.
  2. Desde la caja de herramientas de SSIS arrastrar y soltar Ejecutar tarea de proceso.
  3. Haga doble clic en Ejecutar tarea de proceso.
  4. Vaya a la pestaña Proceso.
  5. Junto a Ejecutable, introduzca la ruta a python.exe en la carpeta de instalación de Python.
  6. En WorkingDirectory, introduzca la ruta a la carpeta que contiene el script que desea ejecutar (sin el nombre del archivo de script).
  7. En Arguments, escriba el nombre del script delta_share_to_azure_panda.py que desea ejecutar con .py y haga clic en Guardar.
  8. Haga clic en Iniciar en el menú superior de la cinta.
  9. Durante la ejecución de la tarea, la salida de la consola de Python se muestra en la ventana de la consola externa.
  10. Una vez realizada la tarea, se mostrará una marca de verificación.

Elija su propio método

Delta Sharing es un protocolo abierto para compartir datos de forma segura. Puede encontrar el repositorio público de GitHub para Delta Sharing en https://github.com/delta-io/delta-sharing. El repositorio incluye ejemplos y documentación para acceder a datos compartidos utilizando varios lenguajes como Python y Spark Connector (SQL, Python, Scala, Java, R).

 Nota
Asegúrese de tener los permisos y derechos de acceso adecuados para descargar los archivos necesarios y ejecutar los contenedores de Docker en su sistema. Siga siempre buenas prácticas y pautas de seguridad proporcionadas por Procore cuando maneje datos y credenciales confidenciales.