簡體   English   中英

如何使用 Spark Cassandra 連接器創建表?

[英]How do I create a table using the Spark Cassandra Connector?

我最近開始使用 Spark Cassandra 連接器,並且我已經手動創建了我的表並能夠保存數據。 這是文檔中的一個簡化片段:

CREATE TABLE test.words (word text PRIMARY KEY, count int);
val collection = sc.parallelize(Seq(("cat", 30), ("fox", 40)))
collection.saveToCassandra("test", "words", SomeColumns("word", "count"))

有沒有辦法通過從案例類中推斷模式而不實際編寫原始查詢來以編程方式創建表?

是的,您可以按照文檔中的說明使用saveAsCassandraTablesaveAsCassandraTableEx執行此操作。 第一個函數將根據您的數據自動創建表(注意它會將一列作為分區鍵)。 第二個函數將允許您通過指定分區鍵、集群列等來自定義架構,如下所示(代碼來自文檔):

val p1Col = new ColumnDef("col1",PartitionKeyColumn,UUIDType)
val c1Col = new ColumnDef("col2",ClusteringColumn(0),UUIDType)
val c2Col = new ColumnDef("col3",ClusteringColumn(1),DoubleType)
val rCol = new ColumnDef("col4",RegularColumn,IntType)

// Create table definition
val table = TableDef("test","words",Seq(p1Col),Seq(c1Col, c2Col),Seq(rCol))

// Map rdd into custom data structure and create table
val rddOut = rdd.map(s => outData(s._1, s._2(0), s._2(1), s._3))
rddOut.saveAsCassandraTableEx(table, SomeColumns("col1", "col2", "col3", "col4"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM