Correto Pedro!

Contudo, não entendo porque. . .

Minha forma de atacar esse problema seria mandar os dados para o BD por
outra maneira (que ñ via R) e tentar conectar apenas para puxar os dados:
aí a gente vê se é na criação do BD via R que ele deixa em aberto um
tamanho default muito grande ou se é a chamada que por alguma coincidência
cria um default exigindo tanta memória (embora nos OSs modernos isso não
deveria gerar problema porque existem os gerenciadores de memória virtual).

HTH
--
Cesar Rabak


2017-07-31 10:32 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil <
emmanuel.bra...@gmail.com>:

> Cesar,
>
> A função RODBC::sqlQuery não tem exemplo, mas já usei diversas vezes com
> outros scripts e funciona. Esse problema está acontecendo somente no
> exemplo dessa conexão em específico. Então estou entendendo a partir de
> agora que  alguma configuração da conexão está pedindo pra reservar memória
> mais do que o a máquina possui.
>
> Pedro Brasil
>
> Em 29 de julho de 2017 20:45, Cesar Rabak <cesar.ra...@gmail.com>
> escreveu:
>
>> Pedro,
>>
>> Calloc é uma chamada "primitiva" para o R, uma função da biblioteca C e é
>> uma função feita para "alocar" (reservar) memória e zerá-la.
>>
>> O estranho, para mim, é a tentativa do aplicativo de reservar *tanta* memória
>> assim na chamada da função do R.
>>
>> Essa função sqlQuery() pode ser testada fazendo:
>>
>> > example(sqlQuery)
>>
>> ?
>>
>> Se o exemplo do próprio pacote funcionar, aí teremos que fazer uma busca
>> para ver de onde vem esse comportamento.
>>
>> HTH
>> --
>> Cesar Rabak
>>
>>
>>
>>
>> 2017-07-28 17:12 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil <
>> emmanuel.bra...@gmail.com>:
>>
>>> Ei Cesar,
>>>
>>> Eu tenho pouco familiaridade com SQL, e o amigo da TI que tem e faz
>>> manutenção do servidor diz que o erro é na minha estação com R. Eu acho que
>>> não, mas não tenho certeza porque eu não sei ao certo o que quer dizer esse
>>> erro. O que seria essa "Calloc"? É uma coisa natural do R?
>>>
>>> Abraço,
>>>
>>> Pedro Brasil
>>>
>>> Em 28 de julho de 2017 16:59, Cesar Rabak <cesar.ra...@gmail.com>
>>> escreveu:
>>>
>>>> Pedro,
>>>>
>>>> Mesmo sem poder fazer uma tentativa, me parece que o erro é estranho
>>>> demais para não ser notado: a chamada à primitiva da ling. C "calloc" está
>>>> pedindo 200 Gbytes, que falha e me parece algo grande demais para um
>>>> "default" da chamada a sqlQuery().
>>>>
>>>> HTH
>>>>
>>>>
>>>> 2017-07-28 9:42 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil
>>>> via R-br <r-br@listas.c3sl.ufpr.br>:
>>>>
>>>>> Amigos de R,
>>>>>
>>>>> Estou envolvido numa tarefa que importo um banco SQL de um servidor,
>>>>> faço uma modelagem, salvo o modelo no SQL através de uma seriliazação, e
>>>>> depois carrego esse modelo do SQL para fazer previsões em novos dados.
>>>>>
>>>>> Estou seguindo um exemplo disponível nessa página:
>>>>> https://docs.microsoft.com/pt-br/sql/advanced-analytics/tuto
>>>>> rials/walkthrough-deploy-and-use-the-model
>>>>>
>>>>> Sei que esse exemplo não é reproduzível porque depende da conexão com
>>>>> o servidor e credenciais que não posso divulgar. Mas se alguem já passou
>>>>> por esse problema poderia pelo menos indicar aonde está o problema que não
>>>>> estou sabendo identificar? Acho que muito provavelmente seria uma
>>>>> configuração do SQL no servidor...
>>>>>
>>>>> library(RODBC)
>>>>>
>>>>> # define database connection string
>>>>> dbconn <- 'Driver={SQL Server};Server=BLABLABLA;Datab
>>>>> ase=BLABLABLA;Trusted_Connection=yes;'
>>>>>
>>>>> # define a connection
>>>>> conn <- odbcDriverConnect(connection = dbconn)
>>>>>
>>>>> # Estou fazendo o exemplo com o objeto LETTERS só pra ter certeza que
>>>>> é um objeto pequeno e que não deveria ser um problema de memória do R.
>>>>> > LETTERS
>>>>>  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P"
>>>>> "Q" "R" "S" "T" "U" "V" "W" "X"
>>>>> [25] "Y" "Z"
>>>>> > teste_pequeno <- serialize(LETTERS, connection = NULL)
>>>>> > teste_pequeno <- paste(teste_pequeno, collapse = "")
>>>>>
>>>>> # o EXEC PersistModel faz
>>>>> # insert into [tempo_permanencia_models] (model, [description]) values
>>>>> (convert(varbinary(max),@m,2), @description)
>>>>> # insere o modelo e uma descricao
>>>>>
>>>>> > p <- paste("EXEC PersistModel @m='", teste_pequeno,"', @description
>>>>> = 'Teste de serialização objeto pequeno'", sep = "")
>>>>> > sqlQuery(conn, p)
>>>>> character(0)
>>>>> > rm(teste_pequeno)
>>>>> > p <- "SELECT model FROM [tempo_permanencia_models] WHERE id_model =
>>>>> 1022"
>>>>> > mod.teste.peq <- sqlQuery(conn, p)
>>>>> Error in odbcQuery(channel, query, rows_at_time) :
>>>>>   'Calloc' could not allocate memory (214748364800 of 1 bytes)
>>>>> > p <- paste0("SELECT id_model, description FROM
>>>>> [tempo_permanencia_models] WHERE id_model = 1022")
>>>>> > sqlQuery(conn, p) #
>>>>>    id_model                                              description
>>>>> 1      1022                     Teste de serialização objeto pequeno
>>>>>
>>>>> Reparem que o objeto está salvo no servidor. Foi salvo a partir do R,
>>>>> mas não retorna para o R por conta do erro de memoria. Eu não estou 
>>>>> sabendo
>>>>> nem por onde começar.
>>>>>
>>>>> Que a força esteja sempre com vocês e abraço forte.
>>>>>
>>>>> Pedro Brasil
>>>>>
>>>>> _______________________________________________
>>>>> R-br mailing list
>>>>> R-br@listas.c3sl.ufpr.br
>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>>>> código mínimo reproduzível.
>>>>>
>>>>
>>>>
>>>
>>
>
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo 
m�nimo reproduz�vel.
  • [R-br] Erro de memór... Pedro Emmanuel Alvarenga Americano do Brasil via R-br
    • Re: [R-br] Erro... Cesar Rabak via R-br
      • Re: [R-br] ... Pedro Emmanuel Alvarenga Americano do Brasil via R-br
        • Re: [R-... Cesar Rabak via R-br
          • Re:... Pedro Emmanuel Alvarenga Americano do Brasil via R-br
            • ... Cesar Rabak via R-br
              • ... Zhu Sha Zang via R-br
                • ... Leonard Assis via R-br
                • ... Pedro Emmanuel Alvarenga Americano do Brasil via R-br
                • ... Leonard Assis via R-br
                • ... Leonard Assis via R-br
                • ... Elias T. Krainski via R-br
                • ... Elias T. Krainski via R-br
                • ... Cesar Rabak via R-br
                • ... Leonard Assis via R-br

Responder a