-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Testar integração do Power BI com bancos de dados (duckdb, sqlite e postgres) #12
Comments
Conectar à base do SQLite no Power BI:
|
Estou tentando importar as tabelas para o Power BI. Todas exceto a tabela fato foram importadas sem problemas, mas a tabela fato (ft_despesa) está apresentando o seguinte erro: Se algum de vocês conseguir testar em suas máquinas eu conseguiria excluir a possibilidade do erro ser da minha máquina (já que ele acusa problema na memória RAM). Tenho 64 GB e não chegou nem a ocupar 30 GB durante a importação. Estou procurando sobre esse erro, mas não encontrei nada ainda que case com a situação. |
To tentando rodar o projeto no windows mas deu erro: $ make all
0 [None] --- None despesa
Traceback (most recent call last):
File "C:\Users\m752587\Downloads\sqlite-carga-despesa-main\sqlite-carga-despesa-main\main.py", line 100, in <module>
con = sqlite3.connect(DB_NAME) #Cria se n▒o existe e se conecta ▒ base de dados
^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: unable to open database file
make: *** [makefile:11: all] Error 1 Pra corrigir precisa de criar a pasta |
Mesmo erro aqui @labanca:
|
Consegui realizar a carga de todas a base de dados. Comecei procurando outros drivers ODBC e encontrei o da devart. O problema é que esse driver é proprietário e utilizei um trial de 30 dias para fazer os testes. Ao que parece, o erro de escrever em regiões protegidas da memória era causada pelo driver open source que utilizei anteriormente. |
@labanca relata aqui no issue as conclusões que você já chegou para o sqlite e posteriormente para os demais bancos. |
A importação do Postgres para o Power BI funcionou sem problemas. Postarei posteriormente a avaliação dos 3 bancos neste issue. |
Avaliação dos Bancos e IntegraçõesOs testes foram realizados no Power BI Desktop versão 2.116.622.0 64-bit (abril de 2023) DuckDBCódigo da carga de dados: (https://github.com/splor-mg/duckdb-carga-despesa) As ferramentas de BI conseguiram conectar e consumir os dados?Não, mesmo com o driver oficial fornecido para o DuckDB o Power BI não conseguiu importar os dados ou visualizar as tabelas. Quais dependências precisam ser instaladas?duckdb==0.7.1 as colunas são importadas com os tipos corretos?Sim. O cruzamento entre tabelas acontece na ferramenta de BI ou no banco de dados?Não foram feitos testes de cruzamentos no banco de dados e o Power BI não conseguiu se conectar à base de dados. Existe importação de chaves primárias e estrangeiras definidas no banco de dados?Não foram realizados testes na base de dados e o Power BI não conseguiu se conectar ou consumir dados da base. ConclusõesO DuckDB se mostrou pouco maduro quanto a capacidades de integração com as ferramentas analisadas. Também há pouco material disponível a respeito do assunto. Se mostrou muito veloz para leitura das bases durante a carga de dados e possui grande integração com o pacote Pandas do Python. Todavia, os problemas de integração com ferramentas de BI se monstraram um impeditivo para seu uso em projetos que visem usuários finais consumindo seus dados, ao menos no momento atual. SQlite:Código da carga de dados: https://github.com/splor-mg/sqlite-carga-despesa As ferramentas de BI conseguiram conectar e consumir os dados?Sim. Porém o driver open source inicialmente utilizado não funcionou, apresentado o erro relatado neste issue. O driver proprietário Devart for SQLite foi testado e conseguiu se conectar e importar os dados corretamente. Quais dependências precisam ser instaladas?pandas==1.5.2 As colunas são importadas com os tipos corretos?Sim. O cruzamento entre tabelas acontece na ferramenta de BI ou no banco de dados?O Power BI conseguiu se conectar à base de dados e identificou os relacionamentos entre as tabelas automaticamente (apenas faltando duas, relatadas o próximo tópico). Não foram feitos testes cruzamentos no banco de dados ainda por esta avaliação. Existe importação de chaves primárias e estrangeiras definidas no banco de dados?Duas tabelas da base de dados, dm_situacao_op_desp e fl_desp_pgto, não tiveram seus relacionamentos automaticamente detectados, o que indica que pode se tratar do caso de chaves estrangeiras que não estão definidas no banco e não foram detectadas pelo Power BI. ConclusõesO SQLite é um banco largamento utlizando e possui uma grande comunidade e conteúdo disponível. Sua capacidade de importações e leitura das bases não se demonstrou um problema. Mesmo com tal maturidade, o fato de apenas o driver ODBC proprietário ter funcionado pode comprometer seu uso no projeto caso seja necessário consumo de dados por usuários finais. Postgres:Código: https://github.com/splor-mg/postgresql-carga-despesa#uso As ferramentas de BI conseguiram conectar e consumir os dados?Sim. O Power BI possui integração nativa com o Postgres e inclusive possui a opção de directQuery, não sendo necessário importar os dados para o Power BI, sendo as consultas realizadas diretamente no servidor do Postgres. Quais dependências precisam ser instaladas?pandas==1.5.2 As colunas são importadas com os tipos corretos?Sim. O cruzamento entre tabelas acontece na ferramenta de BI ou no banco de dados?O Power BI reconheceu os relacionamentos entre as tabelas automaticamente. Não foram realizados testes de cruzamento na base de dados. Existe importação de chaves primárias e estrangeiras definidas no banco de dados?Duas tabelas da base de dados, dm_situacao_op_desp e fl_desp_pgto, não tiveram seus relacionamentos automaticamente detectados, o que indica que pode se tratar do caso de chaves estrangeiras que não estão definidas no banco e não foram detectadas pelo Power BI. ConclusõesDiferente do DuckDB e SQLite, o Postgres possui uma arquitetura de banco de dados clássica de cliente-servidor, o que exige uma configuração de dependências maior e gestão desse servidor. Seu desempenho (tempo) para importação de dados foi o pior até o momento (cabe ainda investigação de nossa parte quanto outras formas de importação de dados). Apesar disso, é o banco com maior integração com as ferramentas de BI avalidas, já possuindo métodos nativos de conexão. O PgAdmin parece oferecer uma gama de recursos de gestão de SGDB que possibilitariam bancos de dados de maior volume e resilientes com o passar do tempo. Pendências
|
Tentando atender ao issue https://github.com/splor-mg/reestimativa-dados/issues/4 encontrei a seguinte informação:
Que pode ser útil para conectar fontes de dados não suportadas a princípio, como o caso do SQLite e outras. [Verificar] Ao que tudo indica, execução de scripts Python no Power BI tem acesso apenas local, não podendo se conectar a bases remotas. |
Alguns itens para guiar a avaliação são:
Pra fins de comparação entre ferramentas criar uma tabela de saldo de empenho para 2022:
The text was updated successfully, but these errors were encountered: