0 / 0

propriétés de extensionprocessnode

Dernière mise à jour : 12 févr. 2025
propriétés de extensionprocessnode

Icône du noeud Transformation d'extension Avec le noeud Transformation d'extension, vous pouvez prendre des données à partir d'un flux et appliquer des transformations aux données à l'aide de scripts R ou de scripts Python for Spark.

Exemple Python for Spark

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)

exemple 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)""")
Tableau 1. Propriétés de extensionprocessnode
extensionprocessnodepropriétés Type de données Description de la propriété
syntax_type R Python Indiquez le script à exécuter : R ou Python (R est la valeur par défaut).
r_syntax chaîne Syntaxe du scriptage R à exécuter.
python_syntax chaîne Syntaxe du scriptage Python à exécuter.
use_batch_size option Activez l'utilisation du traitement par lots.
batch_size Integer Indiquez le nombre maximal d'enregistrements de données à inclure dans chaque lot.
convert_flags
StringsAndDoubles
LogicalValues
Option permettant de convertir des champs indicateurs.
convert_missing option Option permettant de convertir les valeurs manquantes en RNAvaleur.
convert_datetime option Option permettant de convertir des variables au format de date ou date-heure en format de date/heure R.
convert_datetime_class
POSIXct
POSIXlt
Options permettant d'indiquer dans quel format sont converties les variables au format de date ou date-heure.