前へ 次へ

Cassandra データ・ソースから取得するデータの指定方法

この手順では、CQL 照会で以下の open 節を使用します。

importPackage(Packages.java.util);
importPackage(Packages.me.prettyprint.cassandra.serializers);
importPackage(Packages.me.prettyprint.cassandra.service);
importPackage(Packages.me.prettyprint.hector.api);
importPackage(Packages.me.prettyprint.hector.api.beans);
importPackage(Packages.me.prettyprint.hector.api.factory);
importPackage(Packages.me.prettyprint.hector.api.query);
importPackage(Packages.me.prettyprint.cassandra.model);
var cluster = HFactory.getOrCreateCluster("Test Cluster",new CassandraHostConfigurator("192.168.218.246:9160"));
var keyspace = HFactory.createKeyspace("users", cluster);
var cqlQuery = new CqlQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
cqlQuery.setQuery("select * from User");
var resultCQL = cqlQuery.execute();
rowsIterator = resultCQL.get().iterator();

また、以下の fetch 節も使用します。

if (rowsIterator.hasNext()) {
var myrow = rowsIterator.next();
var cols = myrow.getColumnSlice().getColumns();
for( ii=0; ii < cols.size(); ii++ ){
row[cols.get(ii).getName()] = cols.get(ii).getValue();
}
return true;
}else{
return false;
}
1  
2  
1  
2  
3  
3  
「出力列」で、「追加」を選択して、データ・ソースから取得する必要な出力列を追加します。 図 2-2 に示すように、各出力列に対して、「新規スクリプト・データ・セット列」で以下の値を指定できます。
*
*
*
*
*
*
データ・セット列プロパティーの指定が完了したら、「OK」を選択します。

図 2-2 出力列の追加

図 2-2  出力列の追加
図 2-3 に示すように、指定された出力列が「新規データ・セット」に表示されます。 この例では、出力列は「first」、「last」、および「age」です。

図 2-3 取得する出力列の指定

図 2-3  取得する出力列の指定
4  
5  
1  
図 2-4 に示すように、「スクリプト」で「open」を選択し、以下のような CQL 節を指定します。
importPackage(Packages.java.util);
importPackage(Packages.me.prettyprint.cassandra.serializers);
importPackage(Packages.me.prettyprint.cassandra.service);
importPackage(Packages.me.prettyprint.hector.api);
importPackage(Packages.me.prettyprint.hector.api.beans);
importPackage(Packages.me.prettyprint.hector.api.factory);
importPackage(Packages.me.prettyprint.hector.api.query);
importPackage(Packages.me.prettyprint.cassandra.model);
var cluster = HFactory.getOrCreateCluster("Test Cluster",new CassandraHostConfigurator("192.168.218.246:9160"));
var keyspace = HFactory.createKeyspace("users", cluster);
var cqlQuery = new CqlQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
cqlQuery.setQuery("select * from User");
var resultCQL = cqlQuery.execute();
rowsIterator = resultCQL.get().iterator();

図 2-4 open 節の指定

図 2-4  open 節の指定
2  
図 2-5 に示すように、「スクリプト」で「fetch」を選択し、以下のような CQL 節を指定します。
if (rowsIterator.hasNext()) {
var myrow = rowsIterator.next();
var cols = myrow.getColumnSlice().getColumns();
for( ii=0; ii < cols.size(); ii++ ){
row[cols.get(ii).getName()] = cols.get(ii).getValue();
}
return true;
}else{
return false;
}

図 2-5 fetch 節の指定

図 2-5  fetch 節の指定
3  

(c) Copyright Actuate Corporation 2013