Usar scripts de R (Rserve) no seu fluxo

Isenção de responsabilidade: este tópico contém informações sobre um produto de terceiros. Observe que, enquanto nos esforçamos para manter as referências precisas ao conteúdo de terceiros, as informações que fornecemos aqui podem mudar sem aviso prévio, à medida que R e Rserve mudam. Para obter as informações mais atualizadas, consulte a documentação e o suporte do R e Rserve.

R é uma linguagem de programação de software de código aberto e um ambiente de software para computação estatística e gráficos. Para estender a funcionalidade do Tableau Prep Builder, você pode criar scripts no R para usar no seu fluxo executado por um servidor Rserve com o objetivo de produzir saída para trabalho no fluxo.

Por exemplo, convém adicionar dados de modelagem estatística ou prever dados para os que você já tem no fluxo usando um script em R, em seguida usar o poder do Tableau Prep Builder para limpar o conjunto de dados resultante para análise.

Para incluir scripts de R no fluxo, você precisa configurar uma conexão entre o Tableau Prep Builder e um servidor Rserve. Em seguida, você pode usar scripts de R para aplicar funções com suporte aos dados do fluxo usando expressões de R. Depois de inserir os detalhes da configuração e apontar o Tableau Prep Builder para o arquivo e a função que você deseja usar, os dados são transmitidos de forma segura ao servidor Rserve, as expressões são aplicadas e os resultados são retornados como uma tabela (data.frame de R) que você pode limpar ou imprimir conforme necessário.

Você pode executar fluxos que incluem etapas de script no Tableau Server, desde que tenha configurado uma conexão com o servidor Rserve. Não é possível executar fluxos com etapas de script no Tableau Online. Para configurar o Tableau Server, consulte Configurar o servidor Rserve para Tableau Server.

Pré-requisitos

Para incluir etapas de script R no seu fluxo, instale o R e configure uma conexão com um servidor Rserve.

Recursos

Configurar o servidor Rserve para Tableau Server

Use as instruções a seguir para configurar uma conexão entre o servidor Rserve e o Tableau Server.

  • Versão 2019.3 e posterior: é possível executar fluxos publicados que incluem etapas de script no Tableau Server.
  • Versão 2020.4.1 e posterior: é possível criar, editar e executar fluxos que incluem etapas de script no Tableau Server.
  • Tableau Online: no momento, não é possível criar ou executar fluxos com etapas de script.
  1. Abra a linha de comando do TSM.
  2. Insira os seguintes comandos para definir o endereço do host, os valores da porta e o tempo limite da conexão:

    tsm security maestro-rserve-ssl enable --connection-type {maestro-rserve-secure/maestro-rserve} --rserve-host <Rserve IP address or host name> --rserve-port <Rserve port> --rserve-username <Rserve username> --rserve-password <Rserve password> --rserve-connect-timeout-ms <RServe connect timeout>

    • Selecione {maestro-rserve-secure} para habilitar uma conexão segura ou {maestro-rserve} para habilitar uma conexão não segura.
    • Se você selecionar {maestro-rserve-secure}, especifique o arquivo de certificado -cf<certificate file path> na linha de comando.
    • Especifique o --rserve-connect-timeout-ms <RServe connect timeout> em milissegundos. Por exemplo, --rserve-connect-timeout-ms 900000.
  3. Para desabilitar a conexão Rserve, insira o seguinte comando

    tsm security maestro-rserve-ssl disable

Configuração adicional do Rserve (opcional)

Você pode criar um arquivo chamado Rserv.cfg para definir os valores padrão de configuração, personalizar o Rserve e colocá-lo no local de instalação /etc/Rserve.conf. Para melhorar a estabilidade com o servidor Rserve e Tableau Prep Builder, você pode adicionar valores à sua configuração Rserve. Ao iniciar o Rserve, você pode fazer referência a esse arquivo para aplicar suas opções de configuração. Por exemplo:

  • Windows: Rserve(args="--RS-conf C:\\folder\\Rserv.cfg")
  • MacOS e Linux: Rserve(args=" --no-save --RS-conf ~/Documents/Rserv.cfg")

O exemplo a seguir mostra algumas opções adicionais que você pode incluir no arquivo de configuração Rserve.conf :

# If your data includes characters other than ASCII, make it explicit that data should be UTF8 encoded.
encoding utf8 
# Disable interactive behavior for Rserve or Tableau Prep Builder will stall when trying to run the script as it waits for an input response.
interactive no

Para obter informações sobre como configurar um arquivo Rserve.conf, consulte a seção de configuração avançada do Rserve nas notas de implementação do R(Link opens in a new window) (publicação na comunidade).

Criar seu script R

Ao criar o script, inclua uma função que especifique um dataframe como um argumento da função. Isto chamará seus dados do Tableau Prep Builder. Você também precisará retornar os resultados em um dataframe utilizando os tipos de dados compatíveis.

Por exemplo:

postal_cluster <- function(df) {      
  out <- kmeans(cbind(df$Latitude, df$Longitude), 3, iter.max=10)
  return(data.frame(Latitude=df$Latitude, Longitude=df$Longitude, Cluster=out$cluster))
 }

Os seguintes tipos de dados são compatíveis:

Tipo de dados no Tableau Prep Builder Tipo de dados no R
Cadeia de caracteres Cadeia de caracteres UTF-8 padrão
Decimal Duplo
Int Inteiro
Bool Lógico
Data Cadeia de caracteres no formato ISO_DATE “AAAA-MM-DD” com compensação de zona opcional. Por exemplo, “2011-12-03+01:00” é uma data válida.
DateTime Cadeia de caracteres no formato ISO_DATE_TIME “AAAA-MM-DDT:HH:mm:ss” com compensação de zona opcional. Por exemplo, “2011-12-03T10:15:30+01:00” é uma data vslid.

Observação: Date e DateTime sempre devem ser retornados como uma cadeia de caracteres válida. Tipos de data nativa (DateTime) em R não são compatíveis como valores retornados, mas podem ser usados no script.

Se quiser retornar campos diferentes dos que você inseriu, será necessário incluir uma função getOutputSchema no script que define a saída e os tipos de dados. Caso contrário, a saída usará os campos dos dados de entrada, que são obtidos na etapa anterior à etapa do script no fluxo.

Use a seguinte sintaxe ao especificar os tipos de dados para seus campos no getOutputSchema:

Função no R Tipos de dados resultantes
prep_string () Cadeia de caracteres
prep_decimal () Decimal
prep_int () Inteiro
prep_bool () Booleano
prep_date () Data
prep_datetime () DateTime

O exemplo a seguir mostra a função getOutputSchema do script postal_cluster:

getOutputSchema <- function() {      
  return (data.frame (
    Latitude = prep_decimal (),
    Longitude = prep_decimal (),
    Cluster = prep_int ()));
}

Conecte-se ao servidor Rserve

Importante: a partir da versão 2020.3.3 do Tableau Prep Builder, você pode configurar a conexão do servidor uma vez no menu superior Ajuda, em vez de configurar a conexão por fluxo na etapa de Script ao clicar em Conectar-se ao servidor Rserve e inserir os detalhes da conexão. Você precisará reconfigurar a conexão usando este novo menu para os fluxos criados em uma versão mais antiga do Tableau Prep Builder que você abre na versão 2020.3.3.

  1. Selecione Ajuda > Configurações e desempenho > Gerenciar conexão de extensões do Analytics.
  2. Na lista suspensa Selecionar uma extensão do Analytics, selecione Rserve.

  3. Insira as credenciais:
    • A porta 6311 é a porta padrão para servidores Rserve sem formatação.
    • A porta 4912 é a porta padrão para servidores Rserve com criptografia SSL.
    • Se o servidor exigir credenciais, insira um Nome de usuário e uma Senha.
    • Se o servidor usar a criptografia SSL, marque a caixa de seleção Exigir SSL e clique no link Arquivo de configuração personalizado para especificar um certificado para a conexão.

      Observação: o Tableau Prep Builder não fornece uma maneira de testar a conexão. Se houver um problema com a conexão, uma mensagem de erro será exibida quando você tentar e executar o fluxo.

Adicionar um script ao fluxo

Inicie o servidor Rserve e conclua as seguintes etapas:

  1. Abra o Tableau Prep Builder e clique no botão Adicionar conexão.

    Em criação na Web, na página Início, clique em Criar > Fluxo ou na página Explorar, clique em Novo > Fluxo. Em seguida, clique em Conectar a dados.

  2. Na lista de conectores, selecione o tipo de arquivo ou servidor que hospeda seus dados. Se solicitado, insira as informações necessárias para acessar seus dados.

  3. Clique no ícone de adição e selecione Adicionar script no menu de contexto.

  4. No painel Script, em Tipo de conexão , selecione Rserve.

  5. Na seção Nome do arquivo, clique em Procurar para selecionar o arquivo de script.
  6. Digite o Nome da função e pressione Enter para executar seu script.

Agradecemos seu feedback!