2015-05-21 11 views
5

जब की तरह CQL लिपियों में इस्तेमाल किया जा रहा वहाँ CQL में चर पारित करने के लिए एक तरह से कमांड है।क्या सीक्यूएल स्क्रिप्ट में सीक्यूएल कमांड में चर का उपयोग करना संभव है?</p> <pre><code>select * from "Column Family Name" where "ColumnName"='A variable which takes different values'; </code></pre> <p>कोई सुझाव का स्वागत है:

उत्तर

4

नहीं, सीक्यूएल में वास्तव में चर को परिभाषित करने, लूप चलाने और उन चर के आधार पर अद्यतन/क्वेरी करने का कोई तरीका नहीं है।

वैकल्पिक रूप से, मैं आमतौर पर इस तरह के सरल कार्यों/स्क्रिप्ट के लिए DataStax Python driver का उपयोग करता हूं। यहां एक पायथन लिपि से एक अंश दिया गया है जिसे मैंने CSV फ़ाइल से उत्पाद रंगों को पॉप्युलेट करने के लिए कुछ समय पहले उपयोग किया था।

# connect to Cassandra 
auth_provider = PlainTextAuthProvider(username='username', password='currentHorseBatteryStaple') 
cluster = Cluster(['127.0.0.1'], auth_provider=auth_provider) 
session = cluster.connect('products') 

# prepare statements 
preparedUpdate = session.prepare(
    """ 
     UPDATE products.productsByItemID SET color=? WHERE itemid=? AND productid=?; 
    """ 
) 
# end prepare statements 

counter = 0 

# read csv file 
dataFile = csv.DictReader(csvfilename, delimiter=',') 
for csvRow in dataFile: 
    itemid = csvRow['itemid'] 
    color = csvRow['customcolor'] 
    productid = csvRow['productid'] 

    #update product color 
    session.execute(preparedUpdate,[color,itemid,productid]) 

    counter = counter + 1 

# close Cassandra connection 
session.cluster.shutdown() 
session.shutdown() 

print "updated %d colors" % (counter) 

अधिक जानकारी के लिए जाँच DataStax ट्यूटोरियल Getting Started with Apache Cassandra and Python

0

हाँ, आप निम्नलिखित तरीके से चर पारित कर सकते हैं:

import com.datastax.spark.connector.{SomeColumns, _} 

import org.apache.spark.{SparkConf, SparkContext} 

import com.datastax.spark.connector.cql.CassandraConnector 

import org.apache.spark.SparkConf 

import com.datastax.spark.connector 

import com.datastax.spark.connector._ 

import org.apache.spark.{Logging, SparkConf} 

import org.apache.spark.sql.DataFrame 

import org.apache.spark.sql.{Row, SQLContext, DataFrame} 

import org.apache.spark.sql.cassandra._ 

val myvar=1 

csc.setKeyspace("test_keyspace") 

val query="""select a.col1, c.col4, b.col2 from test_keyspace.table1 a inner join test_keyspace.table2 b on a.col1=b.col2 inner join test_keyspace.table3 c on b.col3=c.col4 where a.col1="""+myvar.toString 

val results=csc.sql(query) 

results.show() 
संबंधित मुद्दे

 संबंधित मुद्दे