cancel
Showing results for 
Search instead for 
Did you mean: 

splayed table string datatype

vikas_agarwal
New Contributor
Hi,

I am splaying a file(5gb, 10M) that contains 117 column. In which 50 columns are Varchar. If i take all 50 columns as symbol then q(32 bit) restarts after memory full.
What will be right way to load data as string. 


fun:{ddd:.Q.en[`:allsyms;]flip colnames!("CCCCCCCCCCCICCCFFFCCCCCCCCCCCCCFCCICCFCCIFCIIICCCCCCCCCCCCCCIIIICCCCFIFIFFCFFFFCFFFFCCFIFIFCCICFCCIFCCCCCCCFCCCIFFFFC";"|")0:x    
    ;0N!ddd;
    `:all/vrsData/ upsert ddd}

.Q.fsn[fun;;199999999]`:data/sample.txt

If i use C(type) then it is just a character and also give different meaning.

Please let me know to load the data with string types.

4 REPLIES 4

charlie
New Contributor II
New Contributor II
q)("DT**CS";",")0:"2001.01.01,10:30:00,hello,world,z,test"
2001.01.01
10:30:00.000
"hello"
"world"
"z"
`test

Thanks Charles.

Hi,

Can Splayed(Partition/Segmented) tables and logging be done together.

I ran q with following arguments:
w32\q logtest/yes -l -p 2029

and in yes.q i have following entry
\l /db

that inturn load serailized files and q files in the c:/db directory

But after doing this, if i try something
aa:22

it does no go into logtest/yes.log



I have another question on using a different drive (like d:).
\l /db (q understands that db is in c drive if i have forward slash before)
\l db(db is inside QHOME)
how to say load something from d:/xyz




I think for other drive we can use following:

fh1:(hsym `$"e:/db/2009.01.01/t/")
fh2:(hsym `$"e:/db/2009.01.02/t/")

fh1 set
        ([] ti:09:30:00 09:31:00;
            sym:`:/db/sym?`ibm`msft; p:101 33f)

fh2 set
        ([] ti:09:30:00 09:31:00;
            sym:`:/db/sym?`ibm`msft; p:101.5 33.5)
            
\l e:\db