Qlik Community

Qlik Brasil

Welcome to the group for Brazil users. .All discussions will be in Portuguese.

Highlighted
julianacampag
Contributor

Problemas com volume de dados

Bom dia,

Estou tentando fazer a carga de uma tabela que contem 23.000.000 de registros, no postgres, porém, não estou conseguindo chegar ao final do processamento aparece o seguinte erro:

SQL##f - SqlState: S1001, ErrorCode: 4, ErrorMsg: Out of memory while reading tuples.

Pedido_Vendas_Itens:

SQL SELECT *

FROM  xxx."public"."itens_pedido_venda"

where d_e_l_e_t_ <> '*'

Para fazer a carga, estou usando a seguinte expressão:

Pedido_Vendas_Itens:

SQL SELECT *

FROM  xxx."public"."itens_pedido_venda";

STORE Pedido_Vendas_Itens into Pedido_Vendas_Itens.qvd;

//DROP Table Pedido_Vendas_Itens;


Fiz uma carga usando o comando Limit, e carreguei apenas 1000 registros. O qvd gerado ficou com 120KB.

Alguém tem alguma ideia de como poderei fazer a carga dessa tabela??

Tags (1)
1 Solution

Accepted Solutions
Highlighted
junior_ehlke
Contributor III

Re: Problemas com volume de dados

Acredito que assim como o Paulo falou, é interessante você usar um Inner Join direto no SQL juntando as duas tabelas, fazendo isso você consegue criar um QVD para cada mes (isso faria o QVD ficar pequeno e de leitura rápida) e no projeto basta Concatenar eles. Tome cuidado com outro fator, a quantidade de informações não é tão importante quanto o tamanho do QVD, tente deixar o menor possível. Uma opção é ao invez de dar um select *, você selecionar os campos necessários (caso possa desconsiderar alguns), as vezes fazendo apenas isso você ja consiga criar esse arquivo. Faça um teste com apenas um campo.

View solution in original post

8 Replies
Highlighted
Not applicable

Re: Problemas com volume de dados

Você pode tentar fazer com cargas incremental. Dividindo em vários QVD. Nessa tabela tem algum campo de data, para que você possa utilizar no where e separar por anos, meses ou dias?

Highlighted
julianacampag
Contributor

Re: Problemas com volume de dados

Olá Paulo,

Tenho um campo de data no formato YYYYMMDD.

Vou tentar fazer isso que você disse.

Highlighted
Not applicable

Re: Problemas com volume de dados

Juliana,

assim você pode separar de ano em ano, três em três anos, da forma que você achar melhor.

Acredito que você não esteja conseguindo carregar toda a tabela por falta de memória ou espaço no hd na hora de gravar o qvd.

Grato pela atenção.

Highlighted
julianacampag
Contributor

Re: Problemas com volume de dados

Paulo, cabei me confundindo com as tabelas...

A tabela que possui o campo de data que eu lhe disse era a tabela de CABEÇALHO dos pedidos. Esta tabela com 23.000.000 é a tabela de ITENS, e não possui campo de data...

Tem alguma outra ideia?

O vínculo entre essas duas tabelas é o número do pedido.

Highlighted
Not applicable

Re: Problemas com volume de dados

Você pode fazer um join entre elas e usar o campo de data da tabela cabeçalho na cláusula where para restringir os valores.

roberto_ntws
New Contributor II

Re: Problemas com volume de dados

Bom dia Juliana. Como você esta?

Acredito que o erro que esteja encontrando seja devido a utilização de um driver desatualizado do PostgreSql.

Entre neste link, baixe o arquivo mais atual e instale-o. Acredito que seu problema será resolvido.

PostgreSQL: File Browser

Abraços.

Roberto Guilherme Gomes

Highlighted
Partner
Partner

Re: Problemas com volume de dados

Para gerar qvds por AnoMês:

Busque a menor e a maior data dos pedidos na tabela "Cabeçalho dos Pedidos";

Crie um laço de repetição que vai do menor AnoMês ao maior AnoMês;

For ...

     Tabela Cabeçalho:

          Faça um select da tabela usando uma cláusula para ler apenas os registros com AnoMês = AnoMês do Laço;

          Gere o qvd da tabela adicionando o AnoMês do Laço ao nome do qvd

     Tabela Itens:

          Faça um select da tabela usando uma cláusula para ler apenas os pedidos existentes na tabela Cabeçalho;

          Gere o qvd da tabela adicionando o AnoMês do Laço ao nome do qvd

     Drope as tabelas Cabeçalho e Itens.

Next

Abs,

Felipe

Highlighted
junior_ehlke
Contributor III

Re: Problemas com volume de dados

Acredito que assim como o Paulo falou, é interessante você usar um Inner Join direto no SQL juntando as duas tabelas, fazendo isso você consegue criar um QVD para cada mes (isso faria o QVD ficar pequeno e de leitura rápida) e no projeto basta Concatenar eles. Tome cuidado com outro fator, a quantidade de informações não é tão importante quanto o tamanho do QVD, tente deixar o menor possível. Uma opção é ao invez de dar um select *, você selecionar os campos necessários (caso possa desconsiderar alguns), as vezes fazendo apenas isso você ja consiga criar esse arquivo. Faça um teste com apenas um campo.

View solution in original post