Q Sprache - Wartungsfunktionen

.Q.en

.Q.enist eine dyadische Funktion, die beim Aufteilen einer Tabelle hilft, indem eine Symbolspalte aufgelistet wird. Dies ist besonders nützlich, wenn es sich um historische Datenbanken handelt (gespreizt, Partitionstabellen usw.). - -

.Q.en[`:directory;table]

wo directory ist das Ausgangsverzeichnis der historischen Datenbank, in der sym file befindet sich und table ist die aufzuzählende Tabelle.

Eine manuelle Aufzählung von Tabellen ist nicht erforderlich, um sie als gespreizte Tabellen zu speichern, da dies durch -

.Q.en[`:directory_where_symbol_file_stored]table_name

.Q.dpft

Das .Q.dpftFunktion hilft beim Erstellen partitionierter und segmentierter Tabellen. Es ist eine fortgeschrittene Form von.Q.en, da es nicht nur die Tabelle aufteilt, sondern auch eine Partitionstabelle erstellt.

Es werden vier Argumente verwendet .Q.dpft - -

  • symbolisches Dateihandle der Datenbank, in der eine Partition erstellt werden soll,

  • q Datenwert, mit dem wir die Tabelle partitionieren werden,

  • Name des Feldes, mit dem das partierte Attribut (`p #) angewendet werden soll (normalerweise` sym), und

  • der Tabellenname.

Nehmen wir ein Beispiel, um zu sehen, wie es funktioniert -

q)tab:([]sym:5?`msft`hsbc`samsung`ibm;time:5?(09:30:30);price:5?30.25)

q).Q.dpft[`:c:/q/;2014.08.24;`sym;`tab]
`tab

q)delete tab from `
'type

q)delete tab from `/
'type

q)delete tab from .
'type

q)delete tab from `.
`.

q)tab
'tab

Wir haben die Tabelle gelöscht tabaus dem Gedächtnis. Laden wir es jetzt aus der Datenbank

q)\l c:/q/2014.08.24/

q)\a
,`tab

q)tab

   sym      time      price
-------------------------------
  hsbc    07:38:13   15.64201
  hsbc    07:21:05   5.387037
  msft    06:16:58   11.88076
  msft    08:09:26   12.30159
 samsung  04:57:56   15.60838

.Q.chk

.Q.chk ist eine monadische Funktion, deren einzelner Parameter das symbolische Dateihandle des Stammverzeichnisses ist. Wo immer erforderlich, werden leere Tabellen in einer Partition erstellt, indem die einzelnen Partitionsunterverzeichnisse im Stammverzeichnis untersucht werden.

.Q.chk `:directory

wo directory ist das Ausgangsverzeichnis der historischen Datenbank.