Saltar al contenido principal
Procore

Conecte sus datos de Procore descargando modelos de Analytics

Objetivo

Conectar sus datos de Procore a un sistema BI descargando modelos Analytics de forma programática. 

Consideraciones

  • Requerimientos:
    • 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 configuró la variable de entorno SPARK_HOME.
    • Si está utilizando Python y la ubicación de destino se MSSQL DB, instale el controlador ODBC 17 para SQL Server en su sistema.

Pasos

 Nota:
Este método de conexión suele ser utilizado por profesionales de datos.

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. Agregue los campos a continuación:
    {
        "shareCredentialsVersion": 1,
        "portadorToken": "",
        "extremo": "",
        "expiraciónTime": ""
    }
  3. Agregue los valores de token de portador, punto final, versión de credenciales de recurso compartido y tiempo de vencimiento recibidos de Procore al archivo config.share.

Ejecutar user_exp.py script

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

  • Para Azure Storage:
    cron_job: #true/falso
    run_as: #pyspark/python
    source_config:
    config_path: #path al archivo config.share
    Mesas:
    - '' # nombre de la tabla si desea descargar una tabla específica. Déjalo vacío si quieres descargar todas las tablas
    source_type: delta_share
    target_config:
    auth_type: service_principal
    client_id: #client_id
    secret_id: #secret_id
    storage_account: nombre de la cuenta de #storage
    storage_path: #<container>@<storage-account>.dfs.core.windows.net/<directory>
    enant_id: #tenant_id
    target_type: azure_storage
     
  • Para MSSQL base de datos:
    cron_job: #true/falso
    run_as: #pyspark/python
    source_config:
      config_path: #path al archivo config.share
      Mesas:
        - Nombre de la tabla "" si desea descargar una tabla específica. Déjalo vacío si quieres descargar todas las tablas
    source_type: delta_share
    target_config:
      base de datos: base de datos #target
      host: #target nombre de host:port
      contraseña: #password
      esquema: #target esquema (predeterminado para procore_analytics)
      nombre de usuario: #username
    target_type: sql_server

Ejecutar como PySpark

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

  • Para escribir en almacenamiento de ADLS Gen2:
    spark-submit --packages io.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 --exclusion-paquetes com.sun.xml.jaxb-impl delta_share_to_sql_spark.py
  • Para escribir para 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, navegue a la carpeta ingresando el  comando"cd <path to the folder> ".
  2. Instale paquetes requeridos usando "instalación de pip -r requirements.txt" o "python -m pip instala -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 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, ingrese la ruta a python.exe en la carpeta de instalación de Python.
  6. En WorkingDirectory, ingrese la ruta a la carpeta que contiene el script que desea ejecutar (sin el nombre del archivo de script).
  7. En argumentos, ingrese el nombre del script delta_share_to_azure_panda.py desea ejecutar con la .py extensión y haga clic en Guardar.
  8. Haga clic en Iniciar en el menú de cinta de opciones superior.
  9. Durante la ejecución de la tarea, la salida de la consola de Python se muestra en la ventana de consola externa.
  10. Una vez que se haga la tarea, se mostrará un marca de verificación.

Elija su propio método

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

 Nota:
Asegúrese de tener permisos y derechos de acceso adecuados para descargar los archivos requeridos y ejecutar contenedores Docker en su sistema. Siempre siga los mejores prácticas y las pautas de seguridad proporcionadas por Procore al manejar datos y credenciales confidenciales.