2016-04-14 11 views
0
i seçin aşağıdaki seçeneklerin

ile diğer tabloda insert benim sql içinde created_at gibicassandra system.schema_columns modifikasyonlar

-remove denetim sütunlar, vb created_by sütunun veri türünü ..

eklemek biz bundan yapabilirsiniz:

insert into formUtil(table_name, column_name, ordinal_position, is_nullable, data_type) 
SELECT 
    col.table_name, 
    col.column_name, 
    col.ordinal_position, 
    case when col.is_nullable = 'YES' then 1 else 0 end, 
    col.data_type 
from 
    information_schema.COLUMNS col 
where 
    col.table_schema = 'i2cwac' and 
    col.column_name not in ('id','modifiedAt','modifiedBy','createdAt','createdBy') and 
    col.table_name = 'users'; 

Bunu cassandra'da nasıl yapabiliriz?

cevap

0

Sen

import java.nio.ByteBuffer; 
import com.datastax.spark.connector._; 

case class SchemaColumns(keyspaceName: String, tableName: String, clusteringOrder: String, columnNameBytes: ByteBuffer, kind: String, position: Int, type: String) 
case class AnotherTable(keyspaceName: String, tableName: String, type: String) 

sc.cassandraTable[SchemaColumns]("system", "schema_columns") 
    .map(schemaColumns -> AnotherTable(schemaColumns.keyspaceName,schemaColumns.tableName, schemaColumns.type) 
    .saveToCassandra("my_keyspace","another_table") 
+0

teşekkür Spark kullanarak bunu başarabilirsiniz ama kıvılcım kullanmak istemiyoruz. sadece cql. ve sütun bölüm anahtarı, küme anahtarı veya düzenli ise schema_columns türündeki sütun döndürülür. metin, bir şey listesi, uuit, zaman damgası, varchar ve geri kalanı gibi o sütunun veri türünü almak istiyorum – Stefan

+0

O zaman şu anda CQL ile mümkün değil – doanduyhai