table

index

Beschreibung

Erstellt Indizes für eine oder mehrere Tabellenvariablen.

table.index <result=results> <status=rc> / casout={ caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string" }, table={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer }, {...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, groupBy={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer }, {...}}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={ fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters }, name="table-name", orderBy={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer }, {...}}, singlePass=TRUE | FALSE, vars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer }, {...}}, where="where-expression", whereTable={ casLib="string", dataSourceOptions={ adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | greenplum-parameters | hadoop-parameters | hana-parameters | hdfs-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | netezza-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters }, importOptions={ fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters }, name="table-name", vars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer }, {...}}, where="where-expression" } } ;
Einstellungen
ParameterBeschreibung
casoutGibt die Einstellungen für eine Ausgabetabelle an.
casout.caslibGibt den Namen der Caslib für die Ausgabetabelle an.
casout.compressWenn auf 'True' gesetzt, wird die Datentabelle komprimiert.
casout.indexVarsGibt die Liste der Variablen an, für die Indizes in den Ausgabedaten erstellt werden sollen.
casout.labelGibt das beschreibende Label an, das der Tabelle zugeordnet werden soll.
casout.lifetimeGibt die Anzahl der Sekunden an, für die die Tabelle nach dem letzten Zugriff im Speicher gehalten wird. Die Tabelle wird gelöscht, wenn sie für die angegebene Anzahl von Sekunden nicht aufgerufen wird. Standardwert: 0. Minimalwert: 0.
casout.maxMemSizeGibt die maximale Speichermenge in Bytes an, die jeder Thread für In-Memory-Blöcke zuweisen sollte, bevor er in eine speicherabgebildete Datei konvertiert wird. Dateien werden in den Verzeichnissen geschrieben, die in der Umgebungsvariablen CAS_DISK_CACHE angegeben sind. Tipp: Sie können den Wert in Anführungszeichen setzen und B, K, M, G oder T als Suffix angeben, um die Einheiten anzuzeigen. Zum Beispiel gibt "8M" acht Megabyte an.
casout.memoryFormatGibt das Speicherformat für die Ausgabetabelle an. Standardwert: INHERIT.
casout.memoryFormat.DVRVerwendet das Speicherformat zur Reduzierung doppelter Werte. Dieses Speicherformat kann den Speicherverbrauch und die Dateigröße reduzieren, wenn die Eingabedaten doppelte Werte enthalten.
casout.memoryFormat.INHERITVerwendet das Standard-Speicherformat, das für den Server festgelegt ist. Standardmäßig verwendet der Server das Standard-Speicherformat. Wenn ein Administrator die Umgebungsvariable CAS_DEFAULT_MEMORY_FORMAT auf DVR setzt, wird das DVR-Speicherformat als Standard für den Server festgelegt.
casout.memoryFormat.STANDARDVerwendet das Standard-Speicherformat.
casout.nameGibt den Namen für die Ausgabetabelle an.
casout.promoteWenn auf 'True' gesetzt, wird die Ausgabetabelle mit einem globalen Geltungsbereich hinzugefügt. Dies ermöglicht anderen Sitzungen den Zugriff auf die Tabelle, vorbehaltlich der Zugriffskontrollen. Die Ziel-Caslib muss ebenfalls einen globalen Geltungsbereich haben. Standardwert: FALSE.
casout.replaceWenn auf 'True' gesetzt, wird eine vorhandene Tabelle mit demselben Namen überschrieben. Standardwert: FALSE.
casout.replicationGibt die Anzahl der Kopien der Tabelle an, die für die Fehlertoleranz erstellt werden sollen. Größere Werte führen zu einer geringeren Leistung und verbrauchen mehr Speicher, bieten aber eine hohe Verfügbarkeit der Daten im Falle eines Knotenausfalls. Datenredundanz gilt nur für verteilte Server. Standardwert: 1. Minimalwert: 0.
casout.tableRedistUpPolicyGibt die Richtlinie zur Tabellenneuzuordnung an, wenn die Anzahl der Worker-Pods auf einem laufenden CAS-Server zunimmt.
casout.tableRedistUpPolicy.DEFERDie Auswahl der Umverteilungsrichtlinie wird einer übergeordneten Entität überlassen.
casout.tableRedistUpPolicy.NOREDISTDie Tabellendaten werden nicht neu verteilt, wenn sich die Anzahl der Worker-Pods auf einem laufenden CAS-Server ändert.
casout.tableRedistUpPolicy.REBALANCEDie Tabellendaten werden neu ausbalanciert, wenn sich die Anzahl der Worker-Pods auf einem laufenden CAS-Server ändert.
casout.threadBlockSizeGibt die Anzahl der Bytes an, die für Blöcke in der Ausgabetabelle verwendet werden sollen. Die Blöcke werden von Threads gelesen. Erhöhen Sie diesen Wert schrittweise, wenn Sie eine große Tabelle mit Millionen oder Milliarden von Zeilen haben und die Leistung optimieren. Größere Werte können die Leistung bei indizierten Tabellen erhöhen. Wenn der Wert jedoch zu groß ist, kann dies zu einer Thread-Verhungrung führen, da zu wenige Blöcke für die Threads vorhanden sind. Alias: blockSize. Standardwert: 1048576. Minimalwert: 0. Tipp: Sie können den Wert in Anführungszeichen setzen und B, K, M, G oder T als Suffix angeben, um die Einheiten anzuzeigen. Zum Beispiel gibt "8M" acht Megabyte an.
casout.timeStampGibt an, eine Zeitstempelspalte zur Tabelle hinzuzufügen. Die Unterstützung für timeStamp ist aktionsspezifisch. Geben Sie den Wert in dem für Ihr Sitzungsgebietsschema geeigneten Format an.
tableGibt die Tabelle an, für die der Index erstellt werden soll. Für weitere Informationen zur Angabe des Tabellenparameters siehe den gemeinsamen 'castable'-Parameter.
table.caslibGibt die Caslib an, in der die Tabelle gespeichert ist.
table.computedOnDemandGibt an, dass berechnete Spalten nur bei Bedarf berechnet werden sollen. Standardwert: FALSE.
table.computedVarsGibt Informationen über Spalten an, die zur Tabelle hinzugefügt werden, wenn die Tabelle geladen wird. Die Werte für diese Spalten werden auf der Grundlage eines Programms berechnet. Die 'computedVars' Werte können einen oder mehrere der folgenden Werte enthalten: format, formattedLength, label, name (erforderlich), nfd, nfl.
table.computedVarsProgramGibt ein Programm an, das zur Berechnung von Werten für berechnete Spalten verwendet wird. Dieses Programm wird in derselben Syntax geschrieben, die in CASL-Ausdrücken verwendet wird.
table.dataSourceOptionsGibt Optionen an, die für den Datenquellentyp spezifisch sind. Datenquellenoptionen werden verwendet, um eine Tabelle zu laden, die sich in einem Dateisystem befindet oder auf die über ein Datenbank- oder anderes Datenquellenzugriffsmodul zugegriffen wird.
table.groupByGruppiert eine Tabelle nach Werten von Variablen. Es können ein oder mehrere gruppierte Variablen angegeben werden. Eine Gruppierung nach Variablen ermöglicht die Verarbeitung einer Tabelle in Abschnitten, in denen die Werte der Gruppierungsvariablen innerhalb jedes Abschnitts konstant sind. Wenn Sie eine Tabelle nach mehreren Variablen gruppieren, werden die Daten nach den Werten der ersten Variablen gruppiert, dann nach den Werten der zweiten Variablen innerhalb der ersten Variablen usw. Die 'groupBy' Werte können einen oder mehrere der folgenden Werte enthalten: format, formattedLength, label, name (erforderlich), nfd, nfl.
table.groupByModeGibt die Behandlungsweise für die gruppierten Werte in der Tabelle an. Standardwert: NOSORT. Werte: NOSORT | REDISTRIBUTE.
table.importOptionsGibt Optionen an, die zum Laden der Tabelle von der Datenquelle verwendet werden.
table.nameGibt den Namen der Tabelle an.
table.orderBySortiert eine Tabelle nach Werten von Variablen. Es können ein oder mehrere Sortiervariablen angegeben werden. Wenn Sie eine Tabelle nach mehreren Variablen sortieren, werden die Daten nach den Werten der ersten Variablen sortiert, dann nach den Werten der zweiten Variablen innerhalb der ersten Variablen usw. Die 'orderBy' Werte können einen oder mehrere der folgenden Werte enthalten: format, formattedLength, label, name (erforderlich), nfd, nfl.
table.singlePassWenn auf 'True' gesetzt, gibt diese Option an, dass die Tabelle nur einmal gelesen werden kann. Standardwert: FALSE.
table.varsGibt eine Liste von Spalten an, die von der Tabelle geladen werden sollen. Die 'vars' Werte können einen oder mehrere der folgenden Werte enthalten: format, formattedLength, label, name (erforderlich), nfd, nfl.
table.whereGibt einen Unterausdruck an, der als Filter für die Tabelle verwendet wird.
table.whereTableGibt eine Tabelle an, die den 'where'-Ausdruck enthält. Die 'whereTable' Werte können einen oder mehrere der folgenden Werte enthalten: casLib, dataSourceOptions, importOptions, name (erforderlich), vars, where.
Beispieldatenerstellung

Dieses Beispiel zeigt, wie eine einfache Tabelle in CAS erstellt wird.

Kopiert!
1DATA casuser.iris;
2 SET sashelp.iris;
3RUN;

Beispiele

Dieses Beispiel zeigt, wie Indizes für eine oder mehrere Spalten einer Tabelle in CAS erstellt werden.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 TABLE.index RESULT=r / TABLE={name='iris', caslib='casuser'}
3 casout={name='iris', caslib='casuser', indexVars={'species','sepalwidth'}};
4QUIT;
Ergebnis :
Die Tabelle 'iris' in der Caslib 'casuser' hat nun Indizes für die Spalten 'species' und 'sepalwidth'.

Dieses Beispiel zeigt, wie eine bestehende SASHDAT-Datei indiziert wird, die bereits in einer Caslib vorhanden ist.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 TABLE.index RESULT=r / TABLE={name='cars', caslib='casuser'}
3 casout={name='cars', caslib='casuser', indexVars={'make','model'}};
4QUIT;
Ergebnis :
Die SASHDAT-Datei 'cars' in der Caslib 'casuser' hat nun Indizes für die Spalten 'make' und 'model'.

FAQ

Was ist der Zweck der Index-Aktion?
Was sind die Einstellungen für eine Ausgabetabelle in der Index-Aktion?
Was ist 'caslib' im casout-Parameter?
Was bewirkt 'compress' im casout-Parameter?
Was ist 'indexVars' im casout-Parameter?
Was ist 'label' im casout-Parameter?
Was ist 'lifetime' im casout-Parameter?
Was ist 'maxMemSize' im casout-Parameter?
Was ist 'memoryFormat' im casout-Parameter?
Was bedeutet 'DVR' für 'memoryFormat'?
Was bedeutet 'INHERIT' für 'memoryFormat'?
Was bedeutet 'STANDARD' für 'memoryFormat'?
Was ist 'name' im casout-Parameter?
Was bewirkt 'promote' im casout-Parameter?
Was bewirkt 'replace' im casout-Parameter?
Was ist 'replication' im casout-Parameter?
Was ist 'tableRedistUpPolicy' im casout-Parameter?
Was bedeutet 'DEFER' für 'tableRedistUpPolicy'?
Was bedeutet 'NOREDIST' für 'tableRedistUpPolicy'?
Was bedeutet 'REBALANCE' für 'tableRedistUpPolicy'?
Was ist 'threadBlockSize' im casout-Parameter?
Was ist 'timeStamp' im casout-Parameter?
Was ist 'table' in der Index-Aktion?
Was ist 'caslib' im table-Parameter?
Was bewirkt 'computedOnDemand' im table-Parameter?
Was ist 'computedVars' im table-Parameter?
Was ist 'format' in computedVars?
Was ist 'formattedLength' in computedVars?
Was ist 'label' in computedVars?
Was ist 'name' in computedVars?
Was ist 'nfd' in computedVars?
Was ist 'nfl' in computedVars?
Was ist 'computedVarsProgram' im table-Parameter?
Was ist 'dataSourceOptions' im table-Parameter?
Was ist 'groupBy' im table-Parameter?
Was ist 'format' in groupBy?
Was ist 'formattedLength' in groupBy?
Was ist 'label' in groupBy?
Was ist 'name' in groupBy?
Was ist 'nfd' in groupBy?
Was ist 'nfl' in groupBy?
Was ist 'groupByMode' im table-Parameter?
Was sind 'importOptions' im table-Parameter?
Was ist 'name' im table-Parameter?
Was ist 'orderBy' im table-Parameter?
Was ist 'format' in orderBy?
Was ist 'formattedLength' in orderBy?
Was ist 'label' in orderBy?
Was ist 'name' in orderBy?
Was ist 'nfd' in orderBy?
Was ist 'nfl' in orderBy?
Was bewirkt 'singlePass' im table-Parameter?
Was ist 'vars' im table-Parameter?
Was ist 'format' in vars?
Was ist 'formattedLength' in vars?
Was ist 'label' in vars?
Was ist 'name' in vars?
Was ist 'nfd' in vars?
Was ist 'nfl' in vars?
Was ist 'where' im table-Parameter?
Was ist 'whereTable' im table-Parameter?
Was ist 'casLib' in whereTable?
Was ist 'dataSourceOptions' in whereTable?
Was sind 'importOptions' in whereTable?
Was ist 'name' in whereTable?
Was ist 'vars' in whereTable?
Was ist 'format' in vars (whereTable)?
Was ist 'formattedLength' in vars (whereTable)?
Was ist 'label' in vars (whereTable)?
Was ist 'name' in vars (whereTable)?
Was ist 'nfd' in vars (whereTable)?
Was ist 'nfl' in vars (whereTable)?
Was ist 'where' in whereTable?