확장 프로세스 노드 속성

확장 변환 노드 아이콘 확장 변환 노드를 사용하면 플로우에서 데이터를 가져와서 R 스크립팅 또는 Python for Spark 스크립팅을 사용하여 데이터에 변환을 적용할 수 있습니다.

Python 스파크 예제

import modeler.api
stream = modeler.script.stream()
node = stream.create("extension_process", "extension_process")
node.setPropertyValue("syntax_type", "Python")

process_script = """
import spss.pyspark.runtime
from pyspark.sql.types import *

cxt = spss.pyspark.runtime.getContext()

if cxt.isComputeDataModelOnly():
    _schema = StructType([StructField("Age", LongType(), nullable=True), \
                      StructField("Sex", StringType(), nullable=True), \
                      StructField("BP", StringType(), nullable=True), \
                      StructField("Na", DoubleType(), nullable=True), \
                      StructField("K", DoubleType(), nullable=True), \
                      StructField("Drug", StringType(), nullable=True)])
    cxt.setSparkOutputSchema(_schema)
else:
    df = cxt.getSparkInputData()
    print df.dtypes[:]
    _newDF = df.select("Age","Sex","BP","Na","K","Drug")
    print _newDF.dtypes[:]
    cxt.setSparkOutputData(_newDF)
"""

node.setPropertyValue("python_syntax", process_script)

R 예

node.setPropertyValue("syntax_type", "R")
node.setPropertyValue("r_syntax", """day<-as.Date(modelerData$dob, format="%Y-%m-%d")
next_day<-day + 1
modelerData<-cbind(modelerData,next_day)
var1<-c(fieldName="Next day",fieldLabel="",fieldStorage="date",fieldMeasure="",fieldFormat="",
fieldRole="")
modelerDataModel<-data.frame(modelerDataModel,var1)""")
표 1. extensionprocessnode 특성
extensionprocessnode properties 데이터 유형 특성 설명
syntax_type R Python 실행할 스크립트를 지정하십시오 – R 또는 Python (R이 기본값입니다).
r_syntax 문자열 실행할 R 스크립팅 구문.
python_syntax 문자열 Python 스크립팅 구문을 실행합니다.
use_batch_size 플래그 일괄 처리 사용을 활성화합니다.
batch_size 정수 각 배치에 포함시킬 데이터 레코드 수를 지정합니다.
convert_flags
StringsAndDoubles
LogicalValues
플래그 필드를 변환하는 옵션.
convert_missing 플래그 결측값을 R로 변환하는 옵션NA값.
convert_datetime 플래그 날짜 또는 날짜/시간 형식의 변수를 R 날짜/시간 형식으로 변환하는 옵션.
convert_datetime_class
POSIXct
POSIXlt
날짜 또는 날짜/시간 형식의 변수를 어떤 형식으로 변환할지 지정하는 옵션입니다.