/
Coletor Sharepoint - Bases Modelos Projeção

Coletor Sharepoint - Bases Modelos Projeção

Esta página tem como finalidade documentar o processo de coleta dos dados de planilhas presentes no Sharepoint.

A extração dos dados foi realizada utilizando linguagem de programação Python, com framework Spark em um Cluster Databrics da Dexco.

Este processo consome as APIs oficiais do Sharepoint via biblioteca escrita em Python.

Resumo do Processo

Baseado em configurações informadas ao job no momento de configuração, o coletor realiza as seguintes etapas:

  • Recupera secrets de chave USER e PASSWORD do escopo USER_DIEGO

  • Autentica no Sharepoint

  • Realiza o download da planilha em ambiente local do cluster

  • Transforma os dados da planilha e aba especificada durante a etapa de configuração do job em tabela Spark

Configuração do Job

Embaixo da chave tasks do arquivo .json de configuração de um agendamento de job do Databricks, utilize a seguinte estrutura, conforme utilizada na orquestração da extração da planilha Market Consensus.xlsx :

 

{ ... "tasks": [ { "task_key": "coletor_market_consensus", "notebook_task": { "notebook_path": "/Repos/paulo.werneck-ext@dex.co/analytics-databricks-inteligencia-mercado/Workspace/bronze/inteligencia-mercado/coletor-excel-sharepoint", "base_parameters": { "database": "indicadores_mercado", "base_url": "https://duratexsa.sharepoint.com/sites/JornadaCrescimento", "schema": "{'data': 'date', 'ebitda_2022': 'smallint', 'ebitda_2023': 'smallint', 'ebitda_2024': 'smallint', 'ebitda_2025': 'smallint', 'ebitda_2026': 'smallint', 'ev_ebitda': 'float', 'media_5y': 'float', 'maior_1dp': 'float', 'menor_1dp': 'float'}", "remove_columns": "[]", "file": "/sites/JornadaCrescimento/Documentos Partilhados/Processar/Market Consensus/Market Consensus.xlsx", "sheet_name": "Consensus", "remove_lines": "[0, 1]", "table": "market_consensus" }, "source": "WORKSPACE" }, "existing_cluster_id": "0523-180911-cnxb45ry", "timeout_seconds": 0, "email_notifications": {} } ], ... }

OBS: É possível adicionar mais de uma task, de acordo com a necessidade.

Para cada Task de um job, os seguintes parâmetros serão necessários serem informados:

  • “base_url“ (String) : URL do Diretório base onde os arquivos Excel estão armazenados dentro do Sharepoint

  • “file“ (String) : Caminho dentro da pasta do Sharepoint onde o arquivo Excel que será coletado

  • “sheet_name“ (String) : Nome da Aba do Excel no Sharepoint que será aberto para realizar a extração

  • “remove_lines“ ( Lista de Inteiros -> [0,1] ) : Números das linhas que serão puladas/removidas da extração dos dados (inicia sempre em zero e incremental em 1 para várias linhas sendo separado por vírgula), informe [] para não remover nenhuma linha.

  • “remove_columns” ( Lista de String -> ['Col1', 'Col2'] ) : Nome das colunas que serão puladas/removidas da extração dos dados, , informe [] para não remover nenhuma coluna.

  • “schema“ (Dict de Key (String) e Value (String) -> { 'Col1' : 'date', 'Col2' : 'smallint' }) :

  • “database” (String) : Nome do Banco de dados a ser criado a tabela

  • “table” (String): Nome da Tabela no Banco de dados do parâmetro “database“ que será criado a tabela

 

Databricks:

Relação de Jobs x Notebooks que compõem o processo:

  • Databricks job: coletor_excel_sharepoint_bases_modelos_projecao

Task
Parâmetros
Periodicidade
Notebook
Repositório
Task
Parâmetros
Periodicidade
Notebook
Repositório

coletor_demanda_deca

{ "database": "bases_modelos_projecoes", "base_url": "https://duratexsa.sharepoint.com/sites/JornadaCrescimento", "schema": "{'Data':'date','Metais_Basicos':'int','Metais_Competitivos':'int','Metais_Medio_Luxo':'int','Metais_Exportacao':'int','Loucas_Bacias_Competitivas':'int','Loucas_Bacias_Izy':'int','Loucas_Bacias_Medio_Luxo':'int','Loucas_Cubas':'int','Loucas_Outros':'int','Loucas_Exportacao':'int','Chuveiros_Duchas':'int','Chuveiros_Torneiras_Eletricas':'int','Chuveiros_Torneiras_Plasticas':'int','Chuveiros_Outros':'int','Chuveiros_Exportacao':'int'}", "remove_columns": "[]", "file": "/sites/JornadaCrescimento/Documentos Partilhados/Processar/Onda 3/Demanda Deca.xlsx", "sheet_name": "Onda3", "remove_lines": "[0]", "table": "demanda_deca" }

Diário

(13 0 1 ? * *)

/analytics-databricks-inteligencia-mercado/Workspace/bronze/inteligencia-mercado/coletor-excel-sharepoint

https://bitbucket.org/duratex/analytics-databricks-inteligencia-mercado/src/master/

coletor_demanda_rc

{ "database": "bases_modelos_projecoes", "base_url": "https://duratexsa.sharepoint.com/sites/JornadaCrescimento", "schema": "{'Data':'date','Porcelanato':'int'}", "remove_columns": "[]", "file": "/sites/JornadaCrescimento/Documentos Partilhados/Processar/Onda 3/Demanda RC.xlsx", "sheet_name": "Onda3", "remove_lines": "[0]", "table": "demanda_rc" }

Diário

(13 0 1 ? * *)

/analytics-databricks-inteligencia-mercado/Workspace/bronze/inteligencia-mercado/coletor-excel-sharepoint

https://bitbucket.org/duratex/analytics-databricks-inteligencia-mercado/src/master/

coletor_demanda_deca_anual

Diário

(13 0 1 ? * *)

/analytics-databricks-inteligencia-mercado/Workspace/bronze/inteligencia-mercado/coletor-excel-sharepoint

https://bitbucket.org/duratex/analytics-databricks-inteligencia-mercado/src/master/

coletor_projecoes_longo_prazo

Diário

(13 0 1 ? * *)

/analytics-databricks-inteligencia-mercado/Workspace/bronze/inteligencia-mercado/coletor-excel-sharepoint

https://bitbucket.org/duratex/analytics-databricks-inteligencia-mercado/src/master/

 

  • Tabelas referentes ao job: coletor_excel_sharepoint_bases_modelos_projecao

bases_modelos_projecoes.demanda_deca

bases_modelos_projecoes.demanda_deca

Field
Key
Not Null
Partition
Element
Type
Size
Decimal
Description

Data

Não

Não

Não

 

date

 

 

 

Metais_Basicos

Não

Não

Não

 

int

 

 

 

Metais_Competitivos

Não

Não

Não

 

int

 

 

 

Metais_Medio_Luxo

Não

Não

Não

 

int

 

 

 

Metais_Exportacao

Não

Não

Não

 

int

 

 

 

Loucas_Bacias_Competitivas

Não

Não

Não

 

int

 

 

 

Loucas_Bacias_Izy

Não

Não

Não

 

int

 

 

 

Loucas_Bacias_Medio_Luxo

Não

Não

Não

 

int

 

 

 

Loucas_Cubas

Não

Não

Não

 

int

 

 

 

Loucas_Outros

Não

Não

Não

 

int

 

 

 

Loucas_Exportacao

Não

Não

Não

 

int

 

 

 

Chuveiros_Duchas

Não

Não

Não

 

int

 

 

 

Chuveiros_Torneiras_Eletricas

Não

Não

Não

 

int

 

 

 

Chuveiros_Torneiras_Plasticas

Não

Não

Não

 

int

 

 

 

Chuveiros_Outros

Não

Não

Não

 

int

 

 

 

Chuveiros_Exportacao

Não

Não

Não

 

int

 

 

 

 

 

bases_modelos_projecoes.demanda_rc

bases_modelos_projecoes.demanda_rc

Field
Key
Not Null
Partition
Element
Type
Size
Decimal
Description

Data

Não

Não

Não

 

date

 

 

 

Porcelanato

Não

Não

Não

 

int

 

 

 

 

 

bases_modelos_projecoes.coletor_demanda_deca_anual

bases_modelos_projecoes.coletor_demanda_deca_anual

Field
Key
Not Null
Partition
Element
Type
Size
Decimal
Description

data

Não

Não

Não

 

string

 

 

 

Metais_MI_Total

Não

Não

Não

 

float

 

 

 

Loucas_MI_Total

Não

Não

Não

 

float

 

 

 

 

 

bases_modelos_projecoes.projecoes_longo_prazo

bases_modelos_projecoes.projecoes_longo_prazo

Field
Key
Not Null
Partition
Element
Type
Size
Decimal
Description

indice

Não

Não

Não

 

string

 

 

 

2009

Não

Não

Não

 

double

 

 

 

2010

Não

Não

Não

 

double

 

 

 

2011

Não

Não

Não

 

double

 

 

 

2012

Não

Não

Não

 

double

 

 

 

2013

Não

Não

Não

 

double

 

 

 

2014

Não

Não

Não

 

double

 

 

 

2015

Não

Não

Não

 

double

 

 

 

2016

Não

Não

Não

 

double

 

 

 

2017

Não

Não

Não

 

double

 

 

 

2018

Não

Não

Não

 

double

 

 

 

2019

Não

Não

Não

 

double

 

 

 

2020

Não

Não

Não

 

double

 

 

 

2021

Não

Não

Não

 

double

 

 

 

2022

Não

Não

Não

 

double

 

 

 

2023

Não

Não

Não

 

double

 

 

 

2024

Não

Não

Não

 

double

 

 

 

2025

Não

Não

Não

 

double

 

 

 

2026

Não

Não

Não

 

double

 

 

 

2027

Não

Não

Não

 

double

 

 

 

 

Add label

Related content

Coletor Sharepoint
More like this
Coletor Itaú Projeções
Coletor Itaú Projeções
More like this
Coletor API Tendências
Coletor API Tendências
More like this
Coletor - Neoway
More like this
Agrupador RQ
More like this