R(Rserve) 스크립트를 흐름에 사용

고지 사항: 이 항목에는 타사 제품에 대한 정보가 포함되어 있습니다. Tableau는 이러한 타사 콘텐츠를 정확하게 참조하기 위해 최선을 다하지만 R 및 Rserve이 변경될 경우 여기서 제공하는 정보가 사전 고지 없이 변경될 수 있습니다. 최신 정보가 필요한 경우 R 및 Rserve 설명서를 참조하고 지원 팀에 문의하십시오.

R은 오픈 소스 소프트웨어 프로그래밍 언어이며 통계 컴퓨팅 및 그래픽을 위한 소프트웨어 환경입니다. Tableau Prep Builder의 기능을 확장하기 위해 Rserve 서버를 통해 실행되는 흐름에서 사용할 스크립트를 만들어 흐름에서 추가로 작업할 수 있는 출력을 생성할 수 있습니다.

예를 들어 R의 스크립트를 사용하여 흐름에 이미 있는 데이터에 통계 모델링 데이터 또는 예측 데이터를 추가한 다음 Tableau Prep Builder의 강력한 기능을 사용하여 분석할 결과 데이터 집합을 정리할 수 있습니다.

흐름에 R 스크립트를 포함하려면 Tableau Prep Builder와 Rserve 서버 간의 연결을 구성해야 합니다. 그런 다음 R 스크립트를 사용하면 R 식을 사용하여 흐름의 데이터에 지원되는 함수를 적용할 수 있습니다. 구성 세부 정보를 입력하고 Tableau Prep Builder가 사용하려는 파일 및 기능을 가리키면 데이터가 Rserve 서버로 안전하게 전달되고 식이 적용되며 결과가 테이블(R data.frame) 형식으로 반환됩니다. 이는 필요에 따라 정리하거나 출력할 수 있습니다.

Rserve 서버에 대한 연결을 구성한 경우 Tableau Server에서 스크립트 단계를 포함하는 흐름을 실행할 수 있습니다. Tableau Online에서 스크립트 단계를 사용하여 흐름을 실행하는 기능은 현재 지원되지 않습니다. Tableau Server를 구성하려면 Tableau Server용 Rserve 서버 구성을 참조하십시오.

필수 요건

흐름에 R 스크립트 단계를 포함하려면 R을 설치하고 Rserve 서버와의 연결을 구성합니다.

리소스

Tableau Server용 Rserve 서버 구성

다음 지침에 따라 Rserve 서버와 Tableau Server 간의 연결을 구성합니다.

  • 버전 2019.3 이상: Tableau Server에서 스크립트 단계를 포함하는 게시된 흐름을 실행할 수 있습니다.
  • 버전 2020.4.1 이상: Tableau Server에서 스크립트 단계를 포함하는 흐름을 생성, 편집 및 실행할 수 있습니다.
  • Tableau Online: 현재 스크립트 단계가 있는 흐름을 만들거나 실행하는 것은 지원되지 않습니다.
  1. TSM 명령줄을 엽니다.
  2. 호스트 주소, 포트 값 및 연결 시간 초과를 설정하려면 다음 명령을 입력합니다.

    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>

    • 보안 연결을 사용하려면 {maestro-rserve-secure}를 선택하거나 비보안 연결을 사용하려면 {maestro-rserve}를 선택합니다.
    • {maestro-rserve-secure}를 선택하는 경우 명령줄에서 인증서 파일 -cf<certificate file path>를 지정합니다.
    • --rserve-connect-timeout-ms <RServe connect timeout>을 밀리초 단위로 지정합니다. 예: --rserve-connect-timeout-ms 900000.
  3. Rserve 연결을 사용하지 않도록 설정하려면 다음 명령을 입력합니다.

    tsm security maestro-rserve-ssl disable

추가 Rserve 구성(선택 사항)

Rserve.cfg라는 파일을 만들고 기본 구성 값을 설정해 Rserve를 사용자 지정하고 /etc/Rserve.conf 설치 위치에 배치할 수 있습니다. Rserve 서버 및 Tableau Prep Builder의 안정성을 향상시키기 위해 Rserve 구성에 값을 더 추가할 수 있습니다. Rserve를 시작할 때 이 파일을 참조하여 구성 옵션을 적용할 수 있습니다. 예:

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

다음 예는 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

Rserve.conf 파일 설정에 대한 정보는 R 구현 참고 사항(Link opens in a new window)(영어)(커뮤니티 게시물)의 고급 Rserve 구성 섹션을 참조하십시오.

R 스크립트 만들기

스크립트를 만들 때 데이터 프레임을 함수의 인수로 지정하는 함수를 포함할 수 있습니다. 그러면 Tableau Prep Builder에서 데이터가 호출됩니다. 또한 지원되는 데이터 유형을 사용하여 결과를 데이터 프레임으로 반환해야 합니다.

예:

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))
 }

지원되는 데이터 유형은 다음과 같습니다.

Tableau Prep Builder의 데이터 유형 R의 데이터 유형
문자열 표준 UTF-8 문자열
실수 배정밀도
Int 정수
Bool 논리
날짜 선택적 시간대 오프셋이 있는 ISO_DATE 형식 “YYYY-MM-DD”의 문자열입니다. 예를 들어 “2011-12-03+01:00”이 유효한 날짜입니다.
날짜/시간 선택적 시간대 오프셋이 있는 ISO_DATE_TIME 형식 “YYYY-MM-DDT:HH:mm:ss”의 문자열입니다. 예를 들어 “2011-12-03T10:15:30+01:00”이 유효한 날짜입니다.

참고: 날짜 및 날짜/시간은 항상 유효한 문자열로 반환되어야 합니다. R의 기본 날짜(날짜/시간) 유형은 반환 값으로 지원되지 않지만 스크립트에 사용할 수는 있습니다.

입력한 것과 다른 필드를 반환하려면 출력 및 데이터 유형을 정의하는 getOutputSchema 함수를 스크립트에 포함해야 합니다. 그렇지 않으면 출력은 흐름의 스크립트 단계 바로 앞 단계에서 가져온 입력 데이터의 필드를 사용합니다.

getOutputSchema에서 필드의 데이터 유형을 지정할 때 다음 구문을 사용하십시오.

R의 함수 결과 데이터 유형
prep_string () 문자열
prep_decimal () 실수
prep_int () 정수
prep_bool () 부울
prep_date () 날짜
prep_datetime () 날짜/시간

다음 예는 postal_cluster 스크립트에 대한 getOutputSchema 함수를 보여줍니다.

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

Rserve 서버에 연결

중요: Tableau Prep Builder 버전 2020.3.3부터 Rserve 서버에 연결을 클릭하고 연결 세부 정보를 입력하는 방식으로 스크립트 단계에서 흐름별로 연결을 설정하지 않고 상단 도움말 메뉴에서 서버 연결을 한 번만 구성하면 됩니다. 이전 버전의 Tableau Prep Builder에서 만들었으며 버전 2020.3.3에서 여는 모든 흐름에 대해 이 새 메뉴를 사용하여 연결을 다시 구성해야 합니다.

  1. 도움말 > 설정 및 성능 > Analytics 확장 프로그램 연결 관리를 선택합니다.
  2. Analytics 확장 프로그램 선택 드롭다운 목록에서 Rserve를 선택합니다.

  3. 자격 증명을 입력합니다.
    • 포트 6311은 일반 텍스트 Rserve 서버의 기본 포트입니다.
    • 포트 4912는 SSL로 암호화된 Rserve 서버의 기본 포트입니다.
    • 서버에 자격 증명이 필요한 경우 사용자 이름과 암호를 입력합니다.
    • 서버가 SSL 암호화를 사용하는 경우 SSL 필요 확인란을 선택한 다음 사용자 지정 구성 파일 링크를 클릭하여 연결에 대한 인증서를 지정합니다.

      참고: Tableau Prep Builder는 연결을 테스트하는 방법을 제공하지 않습니다. 연결에 문제가 있는 경우 흐름을 시도하고 실행할 때 오류 메시지가 표시됩니다.

흐름에 스크립트 추가

Rserve 서버를 시작한 후 다음 단계를 완료하십시오.

  1. Tableau Prep Builder를 열고 연결 추가 단추를 클릭합니다.

    웹 작성 시 페이지에서 만들기 > 흐름을 클릭하거나 탐색 페이지에서 새로 만들기 > 흐름을 클릭합니다. 그런 다음 데이터에 연결을 클릭합니다.

  2. 커넥터 목록에서 파일 유형이나 데이터를 호스팅하는 서버를 선택합니다. 메시지가 표시되면 로그인하는 데 필요한 정보를 입력하고 데이터에 액세스합니다.

  3. 더하기 아이콘을 클릭하고 상황에 맞는 메뉴에서 스크립트 추가를 선택합니다.

  4. 스크립트 패널의 연결 유형에서 Rserve를 선택합니다.

  5. 파일 이름 섹션에서 찾아보기를 클릭하여 스크립트 파일을 선택합니다.
  6. 함수 이름을 입력한 후 Enter 키를 눌러 스크립트를 실행합니다.

피드백을 제공해 주셔서 감사합니다!