waue/2011/1202: png_init.php

File png_init.php, 3.7 KB (added by waue, 12 years ago)
Line 
1<?php
2
3$key_space = 'png';
4$column_family = 'png';
5$column_family_date = 'date';
6
7require_once 'Cassandra.php';
8
9
10// list of seed servers to randomly connect to
11// all the parameters are optional and default to given values
12$servers = array(
13  array(
14    'host' => '127.0.0.1',
15    'port' => 9160,
16    'use-framed-transport' => true,
17    'send-timeout-ms' => 1000,
18    'receive-timeout-ms' => 1000
19  )
20);
21
22$cassandra = Cassandra::createInstance($servers);
23
24try {
25  $cassandra->dropKeyspace($key_space);
26} catch (Exception $e) {}
27
28
29$cassandra->createKeyspace($key_space);
30$cassandra->useKeyspace($key_space);
31$cassandra->setMaxCallRetries(5);
32
33$cassandra->createStandardColumnFamily(
34  $key_space, // keyspace name
35  $column_family, // the column-family name
36  array( // list of columns with metadata
37    array(
38      'name' => 'name',
39      'type' => Cassandra::TYPE_INTEGER,
40      'index-type' => Cassandra::INDEX_KEYS, // create secondary index
41      'index-name' => 'NameIdx'
42    ),
43    array(
44      'name' => 'content',
45      'type' => Cassandra::TYPE_BYTES,
46    ),
47    array(
48      'name' => 'type',
49      'type' => Cassandra::TYPE_UTF8,
50    ),
51    array(
52      'name' => 'date',
53      'type' => Cassandra::TYPE_INTEGER,
54      'index-type' => Cassandra::INDEX_KEYS,
55      'index-name' => 'DateIdx'
56    ),
57    array(
58      'name' => 'hour',
59      'type' => Cassandra::TYPE_INTEGER,
60      'index-type' => Cassandra::INDEX_KEYS,
61      'index-name' => 'HourIdx'
62    )
63  )
64// actually accepts more parameters with reasonable defaults
65);
66
67$cassandra->createStandardColumnFamily(
68  $key_space, // keyspace name
69  $column_family_date, // the column-family name
70  array( // list of columns with metadata
71    array(
72      'name' => 'date',
73      'type' => Cassandra::TYPE_INTEGER,
74      'index-type' => Cassandra::INDEX_KEYS, // create secondary index
75      'index-name' => 'DateIdx'
76    ),
77    array(
78      'name' => '00',
79      'type' => Cassandra::TYPE_INTEGER,
80    ),
81    array(
82      'name' => '01',
83      'type' => Cassandra::TYPE_INTEGER,
84    ),
85    array(
86      'name' => '02',
87      'type' => Cassandra::TYPE_INTEGER,
88    ),
89    array(
90      'name' => '03',
91      'type' => Cassandra::TYPE_INTEGER,
92    ),
93    array(
94      'name' => '04',
95      'type' => Cassandra::TYPE_INTEGER,
96    ),
97    array(
98      'name' => '05',
99      'type' => Cassandra::TYPE_INTEGER,
100    ),
101    array(
102      'name' => '06',
103      'type' => Cassandra::TYPE_INTEGER,
104    ),
105    array(
106      'name' => '07',
107      'type' => Cassandra::TYPE_INTEGER,
108    ),
109    array(
110      'name' => '08',
111      'type' => Cassandra::TYPE_INTEGER,
112    ),
113    array(
114      'name' => '09',
115      'type' => Cassandra::TYPE_INTEGER,
116    ),
117    array(
118      'name' => '10',
119      'type' => Cassandra::TYPE_INTEGER,
120    ),
121    array(
122      'name' => '11',
123      'type' => Cassandra::TYPE_INTEGER,
124    ),
125    array(
126      'name' => '12',
127      'type' => Cassandra::TYPE_INTEGER,
128    ),
129    array(
130      'name' => '13',
131      'type' => Cassandra::TYPE_INTEGER,
132    ),
133    array(
134      'name' => '14',
135      'type' => Cassandra::TYPE_INTEGER,
136    ),
137    array(
138      'name' => '15',
139      'type' => Cassandra::TYPE_INTEGER,
140    ),
141    array(
142      'name' => '16',
143      'type' => Cassandra::TYPE_INTEGER,
144    ),
145    array(
146      'name' => '17',
147      'type' => Cassandra::TYPE_INTEGER,
148    ),
149    array(
150      'name' => '18',
151      'type' => Cassandra::TYPE_INTEGER,
152    ),
153    array(
154      'name' => '19',
155      'type' => Cassandra::TYPE_INTEGER,
156    ),
157    array(
158      'name' => '20',
159      'type' => Cassandra::TYPE_INTEGER,
160    ),
161    array(
162      'name' => '21',
163      'type' => Cassandra::TYPE_INTEGER,
164    ),
165    array(
166      'name' => '22',
167      'type' => Cassandra::TYPE_INTEGER,
168    ),
169    array(
170      'name' => '23',
171      'type' => Cassandra::TYPE_INTEGER,
172    )
173  )
174// actually accepts more parameters with reasonable defaults
175);
176
177$schema = $cassandra->getKeyspaceSchema($key_space);
178echo 'Schema: <pre>'.print_r($schema, true).'</pre><hr/>';
179
180function extend($hour_i){
181  if ($hour_i < 11) return ("0".$hour_i);
182  else return $hour_i;
183}
184?>