Conecte sus datos de Procore mediante la descarga de modelos de análisis (Beta)
Objetivo
Para conectar sus datos de Procore a un sistema de BI, descargue los modelos de Analytics mediante programación.
Temas a considerar
- 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
- Descargar archivo de credenciales
- Ejecutar script user_exp.py
- Ejecutar como PySpark
- Ejecutar como Python
- Elija su propio método
Descargar archivo de credenciales
- Cree un archivo llamado 'config.share.
- Añade los siguientes campos:
{
"shareCredentialsVersion": 1,
"bearerToken": "",
"endpoint": "",
"expirationTime": ""
} - Añada los valores bearerToken, endpoint, shareCredentialsVersion y expirationTime 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 Azure Storage:
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:
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>
id_inquilino: # id_inquilino
tipo_objetivo: almacenamiento_azul
- 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
- Desde la línea de comandos, vaya a la carpeta introduciendo el comando "cd <path to the folder>".
- Instale los paquetes requeridos utilizando "pip install -r requirements.txt" o “python -m pip install -r requirements.txt”.
- Abra SSIS y cree un nuevo proyecto.
- Desde la caja de herramientas de SSIS arrastrar y soltar Ejecutar tarea de proceso.
- Haga doble clic en Ejecutar tarea de proceso.
- Vaya a la pestaña Proceso.
- Junto a Ejecutable, introduzca la ruta a python.exe en la carpeta de instalación de Python.
- En WorkingDirectory, introduzca la ruta a la carpeta que contiene el script que desea ejecutar (sin el nombre del archivo de script).
- En Arguments, escriba el nombre del script delta_share_to_azure_panda.py que desea ejecutar con .py y haga clic en Guardar.
- Haga clic en Iniciar en el menú superior de la cinta.
- Durante la ejecución de la tarea, la salida de la consola de Python se muestra en la ventana de la consola externa.
- 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).