table addTable

Effizientes Laden und Partitionieren von großen IoT-Sensordaten

Scénario de test & Cas d'usage

Geschäftskontext

Ein Fertigungsunternehmen sammelt Millionen von Sensordatenpunkten von seinen Maschinen. Um eine schnelle Fehleranalyse und vorausschauende Wartung zu ermöglichen, müssen diese Daten effizient in CAS geladen werden. Die Leistung nachfolgender Abfragen wird optimiert, indem die Tabelle nach 'MaschinenID' partitioniert und für eine hohe Verfügbarkeit repliziert wird.
Über das Set : table

Laden, Speichern und Verwalten von Tabellen im Arbeitsspeicher.

Entdecken Sie alle Aktionen von table
Datenaufbereitung

Generiert eine große lokale SAS-Tabelle, die IoT-Sensordaten simuliert.

Kopiert!
1DATA WORK.SENSOR_DATEN_LOKAL;
2 LENGTH MaschinenID $ 10 SensorID $ 15;
3 DO MaschinenID = 'MASCHINE_A', 'MASCHINE_B';
4 DO i = 1 to 50000;
5 Zeitstempel = datetime() - i;
6 Temperatur = 80 + rand('Normal', 0, 5);
7 Druck = 1000 + rand('Uniform')*50;
8 OUTPUT;
9 END;
10 END;
11 FORMAT Zeitstempel datetime20.;
12RUN;

Étapes de réalisation

1
Hochladen der großen Sensordaten-Tabelle nach CAS. Die Zieltabelle wird nach 'MaschinenID' partitioniert und es werden 2 Kopien ('copies=2') zur Fehlertoleranz erstellt.
Kopiert!
1PROC CASUTIL sessref=mySession;
2 load DATA=WORK.SENSOR_DATEN_LOKAL
3 casout=(name='SENSOR_DATEN_PROD', caslib='CASUSER', replace=true, partition={'MaschinenID'}, copies=2) quiet;
4RUN;
2
Überprüfung der Partitionierung und der Tabellenstruktur.
Kopiert!
1 
2PROC CAS sessref=mySession;
3TABLE.tableDetails / name='SENSOR_DATEN_PROD', caslib='CASUSER';
4RUN;
5 

Erwartetes Ergebnis


Die Tabelle 'SENSOR_DATEN_PROD' wird in CAS erstellt. Die Ausgabe von `table.tableDetails` bestätigt, dass die Daten physisch nach den Werten der Spalte 'MaschinenID' auf den Knoten verteilt sind. Die Details zeigen auch, dass redundante Kopien der Blöcke vorhanden sind, was die Fehlertoleranz des Systems erhöht. Analysen, die nach 'MaschinenID' gruppiert oder gefiltert werden, sollten eine signifikant bessere Leistung aufweisen.